.NET DateTime.Parse

Mat*_*hew 9 .net c# datetime parsing

当尝试在DateTime类上使用Parse方法时,我得到一个异常抛出:

字符串未被识别为有效的DateTime.

  • 字符串读取"26/10/2009 8:47:39 AM"时输出.
  • 该字符串是从正则表达式匹配的组中获得的.
  • 从此匹配组获取的任何字符串都不会解析为datetime.(WTF?)

其他字符串的示例:

26/10/2009 8:47:39 AM
26/10/2009 8:00:41 AM
26/10/2009 7:48:35 AM

奇怪的是,我确信它以前有用过 >__<

Fre*_*örk 24

将字符串解析为DateTime对象几乎总是一种痛苦.如果您确定他们将始终拥有您的示例所做的格式,那么这应该有效:

string input = "26/10/2009 8:00:41 AM";
DateTime dateTime = DateTime.ParseExact(input, "dd/MM/yyyy h:mm:ss tt", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)


Luc*_*ero 11

Parse将区域设置(当前线程的文化)考虑在内.因此,我会使用ParseExact不变文化(或您需要的文化,例如en-US,AM/PM)明确地使用和指定正确的格式.