DateTime.ParseExact()失败

时间:2014-07-08 13:42:35

标签: c# datetime

我正在尝试使用ParseExact()方法解析字符串:

DateTime.ParseExact(@"UTC 2014-07-08 13:11:40.396", @"UTC yyyy-MM-dd HH:mm:ss.FFF",null);

这会出现以下错误消息:

  

DateTime.ParseExact(@“UTC 2014-07-08 13:11:40.396”,@“UTC yyyy-MM-dd HH:mm:ss.FFF”,null)引发了类型'System.FormatException的异常'base:{“String未被识别为有效的DateTime。”}

1 个答案:

答案 0 :(得分:6)

试试CultureInfo.InvariantCulture。这将迫使它忽略当前的文化设置(通常我必须在生产中使用它来避免这些问题)

DateTime.ParseExact(@"UTC 2014-07-08 13:11:40.396", @"UTC yyyy-MM-dd HH:mm:ss.FFF",CultureInfo.InvariantCulture);

来自http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture(v=vs.110).aspx

  

与文化敏感数据不同,后者可能会被用户更改   自定义或通过.NET Framework或操作的更新   系统,不变文化数据随着时间的推移而稳定   已安装的文化,无法由用户自定义。这使得   不变文化对于需要的操作特别有用   与文化无关的结果,例如格式化和解析操作   持久化格式化数据,或排序和排序操作   要求数据按固定顺序显示,无论文化如何。