DateTime/DateTimeOffset.Parseメソッドでカルチャに依存しない形式で表現された日時を変換する 言語: C# VB 一方、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 関連するページ DateTime/DateTimeOffset.Parseメソッドで不完全な日時の文字列を変換する DateTime/DateTimeOffset.TryParseメソッドで文字列からの変換を試みる DateTime/DateTimeOffset.Parseメソッドでの変換結果が実行環境により異なる例 DateTime/DateTimeOffset.Parseメソッドでカルチャを指定して文字列を変換する DateTime/DateTimeOffset.ParseExactメソッドで指定された書式に一致する文字列のみを変換する DateTime/DateTimeOffset.TryParseExactメソッドで書式を指定して文字列からの変換を試みる DateTime/DateTimeOffset.TryParseExactメソッドで複数の書式を指定して文字列からの変換を試みる