客户端使用我们的应用程序从我们的服务器下载文件后,该应用会在日期字符串上执行ParseExact
,该日期字符串以下列形式从服务器下载:yyyy/mm/dd HH:mm:ss
。
在经历了很多混乱之后,我在一些日志中注意到客户端系统上的日期是19/7/2554
。事实证明,这是一个有效的时间,如在泰国,Windows默认为佛教时代的时间系统,即2554年。
我的解析完全由一个不变的文化完成,我怀疑这可能是问题,但我认为文化指的是你试图解析的格式?
我收到的异常消息是:字符串未被识别为有效DateTime
,因为星期几不正确
答案 0 :(得分:1)
CultureInfo还包含日历信息。如果TryParseExact方法可以访问正确的日历信息,那么它将能够正确地解析日期。
http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.calendar.aspx
如果您将InvariantCulture CultureInfo替换为Thai CultureInfo,则将使用该文化的默认日历。
或者,您可以使用不需要CultureInfo的TryParse方法的重载。在这种情况下使用的文化将取决于用户在Windows中的区域设置。