web-dev-qa-db-ja.com

InvariantCultureで使用されるDateTime形式

Javascriptでc#のDateTimeになる文字列を事前に検証する必要があります。 DateTime解析はInvariantCultureを使用します。

InvariantCultureに定義されているDateTime形式を知っている人はいますか?

12
nacho1493

ここから情報をコンパイルします。 https://docs.Microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings

  • 短い日付パターン( "d"):MM/dd/yyyy
  • 長い日付パターン( "D"):dddd, dd MMMM yyyy
  • 完全な日付の短い時間( "f"):dddd, dd MMMM yyyy HH:mm
  • 完全な日付の長い時間( "F"):dddd, dd MMMM yyyy HH:mm:ss
  • 一般的な日付の短い時間( "g"):MM/dd/yyyy HH:mm
  • 一般的な日付の長い時間( "G"):MM/dd/yyyy HH:mm:ss
  • 月( "M"、 "m"):MMMM dd
  • 往復( "O"、 "o"):yyyy-MM-ddTHH:mm:ss.fffffffK
  • RFC1123( "R"、 "r"):ddd, dd MMM yyyy HH:mm:ss GMT
  • ソート可能( "s"):yyyy-MM-ddTHH:mm:ss
  • 短い時間( "t"):HH:mm
  • 長い時間( "T"):HH:mm:ss
  • ユニバーサルソート可能( "u"):yyyy-MM-dd HH:mm:ssZ
  • ユニバーサルフル(「U」):dddd, dd MMMM yyyy HH:mm:ss
  • 年月( "Y"、 "y"):yyyy MMMM
19
Tony Morris

テストは非常に簡単です。

public static void Main()
{
    var d = DateTime.Now;

    Console.WriteLine("Date format (long):  {0}", d.ToString("D", CultureInfo.InvariantCulture));
    Console.WriteLine("Date format (short): {0}", d.ToString("d", CultureInfo.InvariantCulture));
    Console.WriteLine("Full format (long):  {0}", d.ToString("F", CultureInfo.InvariantCulture));
    Console.WriteLine("Full format (short): {0}", d.ToString("f", CultureInfo.InvariantCulture));
    Console.WriteLine("Time format (long):  {0}", d.ToString("T", CultureInfo.InvariantCulture));
    Console.WriteLine("Time format (short): {0}", d.ToString("t", CultureInfo.InvariantCulture));
    Console.WriteLine("General format (long):  {0}", d.ToString("G", CultureInfo.InvariantCulture));
    Console.WriteLine("General format (short): {0}", d.ToString("g", CultureInfo.InvariantCulture));
}

}

出力:

Date format (long):  Monday, 16 October 2017
Date format (short): 10/16/2017
Full format (long):  Monday, 16 October 2017 20:12:45
Full format (short): Monday, 16 October 2017 20:12
Time format (long):  20:12:45
Time format (short): 20:12
General format (long):  10/16/2017 20:12:45
General format (short): 10/16/2017 20:12

DotNetFiddle のコード。

7
John Wu

En-usとほぼ同じですが、午前/午後12時間ではなく24時間として使用され、完全なMM/DD/YYYYを埋めます。

var date1 = d.ToString(CultureInfo.InvariantCulture);   // "05/21/2014 22:09:28"
var date2 = d.ToString(new CultureInfo("en-US"));       // "5/21/2014 10:09:28 PM"
2
thatguy
  • 「O」または「o」:yyyy-MM-ddTHH:mm:ss.fffffffzz
  • 「R」または「r」:ddd, dd MMM yyyy HH:mm:ss
  • 「s」:yyyy-MM-ddTHH:mm:ss
  • 「u」:yyyy-MM-dd HH:mm:ssZ

ソース[1]: https://docs.Microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings

1
Ratatoskr