我们有一个应用程序解析以下格式的日期/时间值:
2009-10-10 09:19:12.124
2009-10-10 12:13:14.852
2009-10-10 13:00:00
2009-10-10 15:23:32.022
有一个特定的服务器突然(今天)无法解析13:00:00或之后的任何时间。这个客户端有五台服务器,只有一台出现了问题。我们有其他几十个客户端,总共数百台服务器没有问题。
System.FormatException: String was not recognized as a valid DateTime.
at System.DateTimeParse.Parse(String s, DateTimeFormatInfo dtfi, DateTimeStyles styles)
at System.DateTime.Parse(String s, IFormatProvider provider)
at System.Convert.ToDateTime(String value, IFormatProvider provider)
at System.String.System.IConvertible.ToDateTime(IFormatProvider provider)
at System.Convert.ToDateTime(Object value)
我运行了一个测试,使用DateTime.Parse(s, CultureInfo.CurrentCulture)和DateTime.Parse(s, CultureInfo.InvariantCulture),只有在使用CurrentCulture时才出现问题。然而,CurrentCulture与所有其他服务器一样都是"en-US",并且在区域设置或语言设置中没有任何不同之处。
有人以前见过这种情况吗?建议我可以研究什么?
编辑:非常感谢目前为止的回答。然而,我正在寻找关于哪些配置可能导致此问题突然更改行为并停止工作的建议,尽管它已经工作了多年并在数百个其他服务器上工作。我已经为下一个版本进行了更改,但我正在寻找一种配置更改来在当前安装的中间修复此问题。