Преобразование даты в строку

C#:
Преобразование даты в строку

Как:

В C# у вас есть объект DateTime и множество способов превратить его в строку. Вот несколько из них:

DateTime now = DateTime.Now;
string defaultString = now.ToString(); // Формат по умолчанию
string specificFormat = now.ToString("yyyy-MM-dd"); // Пользовательский формат, здесь ISO 8601
string withCulture = now.ToString("d", new CultureInfo("en-US")); // Короткая дата в американской культуре

Console.WriteLine(defaultString); // Вывод зависит от настроек культуры системы
Console.WriteLine(specificFormat); // Вывод: "2023-04-01"
Console.WriteLine(withCulture); // Вывод: "4/1/2023"

Подробнее

Раньше манипуляции с датами и строками были сложнее. Сегодня DateTime в C# предлагает .ToString() с перегрузками для культуры и формата. Интерфейс IFormatProvider, например CultureInfo, контролирует форматирование, специфичное для культуры.

Альтернативы? Конечно! String.Format и интерполяция ($"{now:yyyy-MM-dd}") являются вариантами для вставки дат в строки с контекстом. DateTimeOffset удобен для учета часовых поясов.

С точки зрения реализации, помните, что DateTime - это структура, а значит, тип значения. Преобразование его не изменяет оригинал: неизменяемость это плюс. Внимательно выбирайте формат строки, исходя из вашей аудитории (конечных пользователей) и системы, с которой вы взаимодействуете (базы данных, API).

Смотрите также