一方、RFC1123形式やISO8601形式などはカルチャに依存しない形式なので、これらの形式で表された文字列をParseメソッドで変換する場合は、実行環境・カルチャによって結果が異なるということはありません。
DateTime/DateTimeOffset.Parseメソッドでカルチャに依存しない形式で表現された日時を変換する
using System;
using System.Globalization;
using System.Threading;
class Sample {
static void Main()
{
// ISO8601形式の日時 (カルチャに依存しない形式)
var input = "2001-02-03T04:05:06";
foreach (var culture in new string[] {"ja-JP", "en-US", "fr-FR"}) {
// カルチャを変更して文字列をDateTimeに変換
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Console.WriteLine("{0} ({1}) -> {2:o}", input, culture, DateTime.Parse(input));
}
Console.WriteLine();
foreach (var culture in new string[] {"ja-JP", "en-US", "fr-FR"}) {
// カルチャを変更して文字列をDateTimeOffsetに変換
Thread.CurrentThread.CurrentCulture = new CultureInfo(culture);
Console.WriteLine("{0} ({1}) -> {2:o}", input, culture, DateTimeOffset.Parse(input));
}
Console.WriteLine();
}
}
実行結果
2001-02-03T04:05:06 (ja-JP) -> 2001-02-03T04:05:06.0000000 2001-02-03T04:05:06 (en-US) -> 2001-02-03T04:05:06.0000000 2001-02-03T04:05:06 (fr-FR) -> 2001-02-03T04:05:06.0000000 2001-02-03T04:05:06 (ja-JP) -> 2001-02-03T04:05:06.0000000+09:00 2001-02-03T04:05:06 (en-US) -> 2001-02-03T04:05:06.0000000+09:00 2001-02-03T04:05:06 (fr-FR) -> 2001-02-03T04:05:06.0000000+09:00