7

在客户端使用我们的应用程序从我们的服务器下载文件后,该应用程序会执行ParseExact一个日期字符串,该字符串以以下形式从服务器传下来:yyyy/mm/dd HH:mm:ss.

经过一番困惑后,我在一些日志中注意到客户端系统上的日期是19/7/2554. 事实证明,这是一个有效时间,因为在泰国,Windows 默认为佛教时代时间系统,即 2554 年。

我的解析是用不变的文化完成的,我怀疑这可能是问题,但我认为文化是指你试图解析的格式?

我收到的异常消息是:字符串未被识别为有效DateTime,因为星期几不正确

4

1 回答 1

1

CultureInfo 还包含日历信息。如果 TryParseExact 方法可以访问正确的日历信息,那么它将能够正确解析日期。

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.calendar.aspx

如果您将 InvariantCulture CultureInfo 替换为 Thai CultureInfo,则将使用该文化的默认日历。

或者,您可以使用不需要 CultureInfo 的 TryParse 方法的重载。在这种情况下使用的区域性将取决于用户在 Windows 中的区域设置。

于 2011-07-29T08:45:57.913 回答