TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.75K subscribers
Post #2318 2.84K
День 1918. #Шпаргалка
Шпаргалка по Форматированию Дат

Структура System.DateTime, доступная только для чтения, определённая в библиотеке базовых классов .NET (BCL), является ключом к обработке дат и времени в C#. Отформатировать дату и время для вывода можно, указав формат в методе ToString("…"). Например:
csharp 
Console.WriteLine(
DateTime.Now.ToString("ddd, dd MMM yyyy h:mm"));

Выведет:
Wed 01 May 2024 8:01

Ниже приведены краткие пояснения некоторых часто используемых спецификаторов формата:
d – день месяца от 1 до 31.
dd – день месяца от 01 до 31.
ddd - аббревиатура дня недели (Mon, Tue, …).
dddd - полный день недели (Monday, Tuesday, …).
h - 12-часовой формат часов.
hh - 12-часовой формат часов с ведущим 0.
H - 24-часовой формат часов.
HH - 24-часовой формат часов с ведущим 0.
m - минуты.
mm - минуты с ведущим 0.
M - номер месяца.
MM - номер месяца с ведущим 0.
MMM - краткое имя месяца (Dec).
MMMM - полное имя месяца (December).
s - секунды.
ss - секунды с ведущим 0.
f - десятые доли секунды.
ff - сотые доли секунды.
t - краткое AM/PM (A или P).
tt - AM/PM (AM или PM).
yyyy - год.
z - часов от UTC (+3).
zz - часов от UTC с ведущим 0 (+03).
zzz - часов и минут от UTC (+03:00).
K - аналогично zzz, но адаптирует вывод в зависимости от типа времени (местное, UTC или не указано), поэтому может не вывести ничего.

Символы FHKMdfghmstyz%:/\"' зарезервированы в строке формата даты и времени. Они интерпретируются как символы форматирования, за исключением случаев, когда используются внутри одинарных или двойных кавычек, либо экранированы \. Все остальные символы последовательно интерпретируются как символьные литералы и остаются неизменными при выводе во время операции форматирования.

Также есть несколько стандартных спецификаторов формата, каждый из которых представлен одной буквой
* - зависит от культуры, ниже примеры для культуры "en-US":
"d" - короткая дата* (05/01/2024)
"D" - полная дата* (Wednesday, May 01, 2024)
"f" - полная дата, короткое время* (Wednesday, May 01, 2024 8:01 AM)
"F" - полная дата, полное время* (Wednesday, May 01, 2024 8:01:03 AM)
"g" - короткая дата, короткое время* (05/01/2024 8:01 AM)
"G" - короткая дата, полное время* (05/01/2024 8:01:03 AM)
"m" или "M" - день/месяц* (May 1)
"o" или "O" - полные дата/время по ISO 8601 (2024-05-01T08:01:03.7300000+04:00)
"s" - сортируемые дата/время по ISO 8601 (2024-05-01T08:03:01)
"r" или "R" - дата/время по RFC1123 (Wed, 01 May 2024 08:01:03 GMT)
"t" - короткое время* (8:01 AM)
"T" - длинное время* (8:01:03 AM)
"u" - универсальный сортируемый формат даты/времени (2024-05-01 05:01:03Z)
"U" - универсальный полный формат даты/времени (Wednesday, May 01, 2024 5:01:03 AM)
"y" или "Y" - месяц/год* (May 2024)
Любой другой символ приведёт к исключению FormatException во время выполнения.

Источник: https://blog.ndepend.com/csharp-datetime-format/
  • 👍 34
More from @netdeveloperdiary
  1. Oct 7, 2026День 2807. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Окончание Нач…
  2. Oct 6, 2026🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собес…
  3. Oct 6, 2026День 2806. #ЗаметкиНаПолях Типы Коллекций в .NET, Которые Стоит Попробовать. Начало Больши…
  4. Oct 5, 2026День 2805. #ЧтоНовенького #NET11 Аргументы в Выражениях Коллекций в C#15 В C#15 реализован…
  5. Oct 4, 2026День 2804. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  6. Oct 3, 2026Post #3360
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →