C# DateTime.Parse泰国/佛教时代时间的确切问题

C# DateTime.Parse泰国/佛教时代时间的确切问题,c#,parsing,datetime,thai,C#,Parsing,Datetime,Thai,客户端使用我们的应用程序从服务器下载文件后,应用程序对从服务器下载的日期字符串执行ParseExact,格式为:yyyy/mm/dd HH:mm:ss 经过一番混乱之后,我在一些日志中注意到客户机系统上的日期是19/7/2554。事实证明,这是一个有效的时间,因为在泰国,Windows默认为佛教时代的时间系统,即2554年 我的精确解析是使用不变的区域性完成的,我怀疑这可能是问题所在,但我认为区域性指的是您试图解析的格式 我收到的异常消息是:字符串未被识别为有效的日期时间,因为星期几不正确Cul

客户端使用我们的应用程序从服务器下载文件后,应用程序对从服务器下载的日期字符串执行
ParseExact
,格式为:
yyyy/mm/dd HH:mm:ss

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

我的精确解析是使用不变的区域性完成的,我怀疑这可能是问题所在,但我认为区域性指的是您试图解析的格式


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

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

如果用泰国文化信息替换InvariantCulture CultureInfo,则将使用该文化的默认日历


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

您的格式似乎根本不包括星期几。你能举一个你试图解析的字符串和解析的代码的例子吗?你确实在指定格式列表吗?啊,我的坏蛋,我搞砸了。原来还有另一段代码在运行,我甚至都不知道。仅使用来自日志文件的异常消息进行调试非常困难。原来是DateTime.Parse错误,不是parseexact。我可以通过将我的电脑的地区更改为泰国来复制问题,并准确地看到它的消亡位置。我相信不变的文化不应该给您带来问题,我认为这是正确的解析方式,这样您的代码就可以正常工作,而不必考虑不同文化的特定格式。如果InvariantCulture对您不起作用,我将感谢您了解更多关于您的问题,因为我自己在我的项目中使用了InvariantCulture。