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

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

Как:

В Elixir модуль Date содержит функцию to_string/1, которая преобразует дату в строку.

date = ~D[2023-03-14]
date_string = Date.to_string(date)
IO.puts(date_string)  # "2023-03-14"

Для более индивидуального форматирования вы можете использовать Timex:

{:ok, datetime} = DateTime.new(~D[2023-03-14], {0, 0, 0})
formatted_date = Timex.format!(datetime, "{YYYY}-{0M}-{0D}")
IO.puts(formatted_date)  # "2023-03-14"

Подробнее

До версии Elixir 1.3 манипулирование датами и временем было более громоздким и зависимым от сторонних библиотек. Начиная с версии 1.3 и позднее, Elixir включил модули Date, Time и DateTime для лучшего управления датами и временем.

Когда вам нужно форматирование за пределами стандарта ISO8601, рассмотрите библиотеку Timex, пакет Elixir, предоставляющий полный опыт работы с датой-временем.

Преобразование в строку не является магией. Речь идет о представлении сложной структуры Date во что-то универсально понятное. Структура содержит больше информации, чем ее строковое представление, поэтому имейте в виду, что преобразование обратно из строки в дату потеряет этот дополнительный контекст, если он не закодирован должным образом.

См. также