升级到 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();
输出:Can't parse date: 1/1/2012 ...
我也尝试过将文化信息设为“eb-GB”(因为它对给定格式没有影响)。 但是,如果我将输入日期更改为01/01/2012
,它工作正常。
.net 4.5 DateTime 框架中是否发生了影响这一点的变化?