我试图使用ParseExact()方法解析一个字符串:
DateTime.ParseExact(@"UTC 2014-07-08 13:11:40.396", @"UTC yyyy-MM-dd HH:mm:ss.FFF",null);
Run Code Online (Sandbox Code Playgroud)
这给出以下错误消息:
DateTime.ParseExact(@"UTC 2014-07-08 13:11:40.396",@"UTC yyyy-MM-dd HH:mm:ss.FFF",null)引发了类型'System.FormatException'基数的异常: {"字符串未被识别为有效的日期时间."}
试试CultureInfo.InvariantCulture.这将迫使它忽略当前的文化背景(通常我必须在生产中使用它来避免这些问题)
DateTime.ParseExact(@"UTC 2014-07-08 13:11:40.396", @"UTC yyyy-MM-dd HH:mm:ss.FFF",CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
与文化敏感数据不同,文化敏感数据可能会因用户自定义或.NET Framework或操作系统的更新而发生变化,因此不变文化数据会随着时间的推移和跨安装的文化而变得稳定,并且无法由用户自定义.这使得不变文化对于需要与文化无关的结果的操作特别有用,例如格式化和解析操作以保持格式化数据,或者排序和排序操作,这些操作要求数据以固定顺序显示而不管文化.