c# - 泰国/佛教时代时间的 DateTime.ParseExact 问题

标签 c# parsing datetime thai

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

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

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

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

最佳答案

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

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

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

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

关于c# - 泰国/佛教时代时间的 DateTime.ParseExact 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868505/

相关文章:

c# - 使用 Func 委托(delegate)返回值

c# - 是否有等效于 C#/.NET 的 Java Spring MVC 样式 url 映射?

c++ - 分词器效率问题

C# DateTime.ToString "o"格式在 Azure 上返回不同的字符串

c# - 正确地将 C++ long 转换为 C# int

c# - Kiosk 模式下的 WPF 应用程序

Python:msg.get_payload() 丢弃所需的数据,需要解决方案

python - python中的小语言

python - 从 DatetimeIndex 到时间列表

javascript - 来自 Google 电子表格的 Highcharts 折线图