如何使用DateTime.Parse以下列格式解析日期时间:
08 Feb 2011 06:46
为了回应我迄今收到的答案,我尝试了以下内容:
item.ServerDate = DateTime.ParseExact
("08 Feb 2011 06:46", "dd MMM yyyy hh:mm", System.Globalization.CultureInfo.InvariantCulture);
我仍然得到异常:String未被识别为有效的DateTime。
更新:以下代码无法使用小时和分钟:
DateTime.ParseExact("08 Feb 2011","dd MMM yyyy",null)
答案 0 :(得分:6)
<击> 撞击>
<击>DateTime.ParseExact("08 Feb 2011 06:46", "dd MMM yyyy hh:mm",
System.Globalization.CultureInfo.InvariantCulture);
击> <击> 撞击>
在您的问题的示例代码中,您忘记了将所有月份“M”全部资本化。
正如安东指出的那样,“H”也需要资本化以利用军事时间。
DateTime.ParseExact("08 Feb 2011 13:46", "dd MMM yyyy HH:mm",
System.Globalization.CultureInfo.InvariantCulture)
以上代码适合我。当我们指定文化时,我无法想象为什么你会在相同的代码上得到错误。你能仔细检查你的代码和输入吗?
答案 1 :(得分:2)
DateTime.ParseExact
可能适合您:http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx
答案 2 :(得分:0)
来自文档:
"hh": The hour, using a 12-hour clock from 01 to 12.
"HH": The hour, using a 24-hour clock from 00 to 23.
和
在.NET Framework 4中 ParseExact方法抛出一个 如果字符串是FormatException 解析包含一个小时组件和 不在的AM / PM指示符 协议。在.NET Framework 3.5中 和早期版本,AM / PM 指示符被忽略。
因此,请尝试在格式说明符中将"hh"
替换为"HH"
,即尝试"dd MMM yyyy HH:mm"