Для форматирования вывода дат и времени применяется ряд строковых форматов:
Описатель | Описание |
D | Полный формат даты. Например, 17 июля 2015 г. |
d | Краткий формат даты. Например, 17.07.2015 |
F | Полный формат даты и времени. Например, 17 июля 2015 г. 17:04:43 |
f | Полный формат даты и краткий формат времени. Например, 17 июля 2015 г. 17:04 |
G | Краткий формат даты и полный формат времени. Например, 17.07.2015 17:04:43 |
g | Краткий формат даты и времени. Например, 17.07.2015 17:04 |
M, m | Формат дней месяца. Например, 17 июля |
O, o | Формат обратного преобразования даты и времени. Вывод даты и времени в соответствии со стандартом ISO 8601 в формате "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz". Например, 2015-07-17T17:04:43.4092892+03:00 |
R, r | Время по Гринвичу. Например, Fri, 17 Jul 2015 17:04:43 GMT |
s | Сортируемый формат даты и времени. Например, 2015-07-17T17:04:43 |
T | Полный формат времени. Например, 17:04:43 |
t | Краткий формат времени. Например, 17:04 |
U | Полный универсальный полный формат даты и времени. Например, 17 июля 2015 г. 17:04:43 |
u | Краткий универсальный полный формат даты и времени. Например, 2015-07-17 17:04:43Z |
Y, y | Формат года. Например, Июль 2015 |
Выведем текущею дату и время во всех форматах:
DateTime now = DateTime.Now; Console.WriteLine($"D: {now.ToString("D")}"); Console.WriteLine($"d: {now.ToString("d")}"); Console.WriteLine($"F: {now.ToString("F")}"); Console.WriteLine($"f: {now:f}"); Console.WriteLine($"G: {now:G}"); Console.WriteLine($"g: {now:g}"); Console.WriteLine($"M: {now:M}"); Console.WriteLine($"O: {now:O}"); Console.WriteLine($"o: {now:o}"); Console.WriteLine($"R: {now:R}"); Console.WriteLine($"s: {now:s}"); Console.WriteLine($"T: {now:T}"); Console.WriteLine($"t: {now:t}"); Console.WriteLine($"U: {now:U}"); Console.WriteLine($"u: {now:u}"); Console.WriteLine($"Y: {now:Y}");
Консольный вывод:
D: 6 января 2022 г. d: 06.01.2022 F: 6 января 2022 г. 14:45:20 f: 6 января 2022 г. 14:45 G: 06.01.2022 14:45:20 g: 06.01.2022 14:45 M: 6 января O: 2022-01-06T14:45:20.3942344+04:00 o: 2022-01-06T14:45:20.3942344+04:00 R: Thu, 06 Jan 2022 14:45:20 GMT s: 2022-01-06T14:45:20 T: 14:45:20 t: 14:45 U: 6 января 2022 г. 10:45:20 u: 2022-01-06 14:45:20Z Y: январь 2022 г.
Не всегда удобно использование встроенных форматов даты и времени. Иногда бывает необходимо задать сообственную форму отображения объекта DateTime. В этом случае мы можем составить свой формат из описателей:
Описатель | Описание |
d | Представляет день месяца от 1 до 31. Одноразрядные числа используются без нуля в начале |
dd | Представляет день месяца от 1 до 31. К одноразрядным числам в начале добавляется ноль |
ddd | Сокращенное название дня недели |
dddd | Полное название дня недели |
f / fffffff | Представляет миллисекунды. Количество символов f указывает на число разрядов в миллисекундах |
g | Представляет период или эру (например, "н. э.") |
h | Часы в виде от 1 до 12. Часы с одной цифрой не дополняются нулем |
hh | Часы в виде от 01 до 12. Часы с одной цифрой дополняются нулем |
H | Часы в виде от 0 до 23. Часы с одной цифрой не дополняются нулем |
HH | Часы в виде от 0 до 23. Часы с одной цифрой дополняются нулем |
K | Часовой пояс |
m | Минуты от 0 до 59. Минуты с одной цифрой не дополняются начальным нулем |
mm | Минуты от 0 до 59. Минуты с одной цифрой дополняются начальным нулем |
M | Месяц в виде от 1 до 12 |
MM | Месяц в виде от 1 до 12. Месяц с одной цифрой дополняется начальным нулем |
MMM | Сокращенное название месяца |
MMMM | Полное название месяца |
s | Секунды в виде числа от 0 до 59. Секунды с одной цифрой не дополняются начальным нулем |
ss | Секунды в виде числа от 0 до 59. Секунды с одной цифрой дополняются начальным нулем |
t | Первые символы в обозначениях AM и PM |
tt | AM или PM |
y | Представляет год как число из одной или двух цифр. Если год имеет более двух цифр, то в результате отображаются только две младшие цифры |
yy | Представляет год как число из одной или двух цифр. Если год имеет более двух цифр, то в результате отображаются только две младшие цифры. Если год имеет одну цифру, то он дополняется начальным нулем |
yyy | Год из трех цифр |
yyyy | Год из четырех цифр |
yyyyy | Год из пяти цифр. Если в году меньше пяти цифр, то он дополняется начальными нулями |
z | Представляет смещение в часах относительно времени UTC |
zz | Представляет смещение в часах относительно времени UTC. Если смещение представляет одну цифру, то она дополняется начальным нулем. |
Создадим пару своих форматов:
DateTime now = DateTime.Now; Console.WriteLine(now.ToString("hh:mm:ss")); Console.WriteLine(now.ToString("dd.MM.yyyy"));
Консольный вывод:
02:46:38 06.01.2022