Форматы 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