gpt4 book ai didi

c# - DateTime 解析 WinRT Windows 8 RTM 中的错误?

转载 作者:太空宇宙 更新时间:2023-11-03 13:56:27 24 4
gpt4 key购买 nike

升级到 Windows 8 RTM 后,我使用的一些日期时间解析代码已停止工作。我已经使用标准控制台应用程序复制了它:

CultureInfo provider;

provider = new CultureInfo("en-US");

string testDate = "1/1/2012";

DateTime date = DateTime.MinValue;
if (DateTime.TryParseExact(testDate,
CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern, // (dd/MM/yyyy)
provider,
DateTimeStyles.None,
out date))
Console.WriteLine("Date: {0}", date);
else
Console.WriteLine("Can't parse date: {0} / {1}", testDate, date);

Console.ReadLine();

输出:无法解析日期:1/1/2012 ...

我也试过将文化信息设为“eb-GB”(因为它对给定格式没有影响)。 但是,如果我将输入日期更改为 01/01/2012,它可以正常工作。

.net 4.5 DateTime 框架中是否发生了影响此问题的更改?

最佳答案

您需要更改 ShortDatePattern 以使用来自所选提供商的那个,而不是 CurrentCulture 中的那个。

DateTime date = DateTime.MinValue;
if (DateTime.TryParseExact(testDate,
provider.DateTimeFormat.ShortDatePattern, // Change this line
provider,
DateTimeStyles.None,
out date))
Console.WriteLine("Date: {0}", date);
else
Console.WriteLine("Can't parse date: {0} / {1}", testDate, date);

关于c# - DateTime 解析 WinRT Windows 8 RTM 中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12026034/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com