【问题标题】:Why can't .NET parse a date string with a timezone?为什么 .NET 不能解析带有时区的日期字符串?
【发布时间】:2008-10-10 21:31:26
【问题描述】:

.NET 尝试解析这种格式的日期时间字符串时抛出异常:

2008 年 10 月 10 日星期五 00:05:51 CST

Convert.ToDateTime("Fri, 10 Oct 2008 00:05:51 CST") 导致异常:

字符串未被识别为 有效的日期时间。有一个未知数 从索引 26 开始的单词

第 26 个字符显然是“CST”的开头

在快速测试中,PHP 和 javascript 都可以毫无问题地将这个字符串解析为日期。 .NET 是完全失败还是有合理的解释?

【问题讨论】:

  • Javascript 在客户端上运行,因此它可以使用该计算机的语言环境设置...PHP 只是简陋,可能假设。 .NET 强制你编写与文化无关的代码,所以它有点棘手。

标签: .net datetime parsing


【解决方案1】:

http://msdn.microsoft.com/en-us/library/ey1cdcx8.aspx

您需要使用重载的 DateTime.Parse 来准确解析时区。

【讨论】:

    【解决方案2】:

    如果要在不同的语言环境中解析特定的日期和时间格式,请使用 ParseExact 方法的重载之一并提供格式说明符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多