Форматы DateTime, используемые в InvariantCulture

Я должен предварительно проверить в Javascript строку, которая будет DateTime в C#. Анализ DateTime использует InvariantCulture.

Кто-нибудь знает форматы DateTime, определенные для InvariantCulture?

4 ответа

Решение

Компиляция информации здесь: 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
  • Общая дата короткое время ("г"): MM/dd/yyyy HH:mm
  • Общая дата долгое время ("G"): MM/dd/yyyy HH:mm:ss
  • Месяц ("М", "М"): MMMM dd
  • Туда и обратно ("О", "О"): yyyy-MM-ddTHH:mm:ss.fffffffK
  • RFC1123 ("R", "r"): ddd, dd MMM yyyy HH:mm:ss GMT
  • Сортируемый ("s"): yyyy-MM-ddTHH:mm:ss
  • Короткое время ("т"): HH:mm
  • Долгое время ("Т"): HH:mm:ss
  • Универсальный сортируемый ("u"): yyyy-MM-dd HH:mm:ssZ
  • Universal Full ("U"): dddd, dd MMMM yyyy HH:mm:ss
  • Год Месяц ("Y", "y"): yyyy MMMM

Это очень легко проверить.

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.

Он более или менее такой же, как en-us, но использует 24-часовое время вместо 12-часового утра / вечера и заполняет полный 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"
  • "О" или "О": 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

Другие вопросы по тегам