我有一个24小时格式的DateTime字符串..“ 2009-12-31T23:59:59”
我想要这种格式..“ 12/31/2009 23:59:59”即:“ MM / DD / YYYY HH:MM:SS“
当我尝试将其隐式转换为字符串时,虽然我可以编写用于字符串操作的代码..它似乎并没有显示“ 12/31/2009 11:59:59 PM”。是有效的..此外,当我具有dateTime值(例如“ 2009-1-1T1:19:15”)时,情况变得更糟。由于字符串长度在变化,我什至无法追踪Hours和个月使用substring()和convert.ToInt()..
我正在使用Visual Studio 2005,当我编写此语句时,抛出错误:“无法将DateTime隐式转换为String”。
result = Convert.ToString(dateValue);
Run Code Online (Sandbox Code Playgroud)
我简化我的问题:是否有任何方法可以将“ yyyy-mm-ddThh:mm:ss”格式转换为“ mm / dd / yyyy hh:mm:ss” ..并且它必须在Visual Studio 2005中起作用。
您需要使用ParseExact将其恢复为日期时间:
string FormatDateTime(string dateString) {
DateTime dt = DateTime.ParseExact(dateString, "yyyy-MM-ddTHH:mm:ss", DateTimeFormatInfo.InvariantInfo, DateTimeStyles.None);
return dt.ToString("MM/dd/yyyy HH:mm:ss");
}
Run Code Online (Sandbox Code Playgroud)
这将为您提供所需的输出。通过使用InvariantInfo,它将确保您的系统设置不会将斜杠替换为您当前在系统中定义的任何内容。我想我在评论中看到您有一个“。” 用作日期分隔符。
http://msdn.microsoft.com/zh-CN/library/system.globalization.datetimeformatinfo.dateseparator.aspx http://msdn.microsoft.com/en-us/library/system.globalization.datetimeformatinfo.invariantinfo.aspx
| 归档时间: |
|
| 查看次数: |
6155 次 |
| 最近记录: |