在32位操作系统,具有Intel处理器, 例如日期时间2009年2月17日12:00:00 AM 请注意,它是:毫米/ DD // YYYY

在一个64位操作系统,与AMD处理器, 例如日期时间17-02-2009 00:00:00

现在,当我尝试分析1格式,它抛出第2个平台上的错误。 这意味着 - DateTime.Parse(“2009年2月17日12:00:00 AM”) - 抛出一个错误 - 不能转换。 然而,在同一平台上, DateTime.Parse( “17/2/2009 12:00:00 AM”)的作品!这意味着DD / MM细,MM / DD是不

是什么原因造成的? 64位操作系统?处理器?

我如何摆脱这个问题?

有帮助吗?

解决方案

DateTime是否本身没有格式。您解析,或将其格式化成字符串。 (这就像号码 - 整数并不存储在十六进制或十进制,他们只是整数,您可以用十六进制或十进制格式他们,但价值本身只是一个数字。)

的格式将取决于操作系统的培养物(或更准确地,该线程的培养,这通常是一样的操作系统中的一个)。

我个人喜欢明确设置我用两种解析或格式化的格式,除非我实际显示的字符串给用户,知道文化是合适的了。

其他提示

检查“日期和时间格式”中的“区域和语言选项”控制面板。

另外,如果你想要的DateTime生成一个特定的格式,不只是简单的打电话的ToString(),但它传递的参数说明你想要的格式。同样,如果你知道你问它来解析日期的格式,请拨打TryParseExact(),并告诉它你所提供的格式。

另请参见MSDN的标准日期和时间格式字符串

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top