DB2データベースに、物理的に米国にある文字列があります。この文字列「2011-12-3100:00:00」に設定された列値があります。これは、2011年、12月の月、および12月の1日を示します。
英国で実行されているクライアントプログラムでこれを文字列として取得しており、UIはローカルカルチャ(デフォルト)に設定されています。私のクライアントプログラムは、米国と香港でも実行されており、文化はそれぞれ米国と香港の地域文化に設定されています。
文字列を日時に解析するために次のコードを使用しています。これがうまくいくかどうかはよくわかりませんし、その方向を示す良いリンクを見つけることができませんでした。これがさまざまな文化で機能するかどうかを教えてください。そうでない場合は、その理由を教えてください。
string quarterStartDate = "2011-12-01 00:00:00";
DateTime quarterStart;
DateTime.TryParse(quarterStartDate, CultureInfo.InvariantCulture, DateTimeStyles.None, out quarterStart);
return quarterStart;
要件に従って機能するテストがありますが、UIが別の国で実行されるときにこれが機能するかどうかは、あまりわかりません。
string quarterStarter = "2011-12-01 00:00:00";
DateTime quarterStart;
DateTime.TryParse(quarterStarter,CultureInfo.InvariantCulture,DateTimeStyles.None,out quarterStart);
Assert.IsTrue(quarterStart.Year == 2011);
Assert.IsTrue(quarterStart.Month == 12);
Assert.IsTrue(quarterStart.Day == 1);