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
と正常に動作します。
これに影響を与える.net4.5DateTimeフレームワークに何か変更がありますか?