Розбір дати з рядка

Elixir:
Розбір дати з рядка

Як:

В Elixir ви можете аналізувати дати, використовуючи модуль Date. Ось як перетворити рядок на дату:

date_string = "2023-04-05"
{:ok, date} = Date.from_iso8601(date_string)
IO.inspect(date)

Приклад виводу:

~D[2023-04-05]

Щоб обробити різні формати, ви можете використовувати бібліотеку Timex:

{:ok, datetime} = Timex.parse("05-04-2023", "{D}-{0M}-{YYYY}")
IO.inspect(datetime)

Приклад виводу:

#DateTime<2023-04-05 00:00:00Z>

Поглиблений огляд

Функція Date.from_iso8601/1 є частиною стандартної бібліотеки Elixir, представлена для забезпечення легкого розбору стандарту дати ISO8601 - поширеного формату дати. Але життя не таке просте; дати існують у тонні форматів. Тут і вступає в гру Timex, стороння бібліотека Elixir. Вона багатша, ніж вбудовані в Elixir функції дати, і допомагає обробляти широкий спектр форматів дат.

Сам Elixir є незмінним, що означає, що і розібрані дати не є винятком; вони не можуть бути змінені після створення. Ця особливість пов’язана з функціональними коріннями Elixir, що гарантує передбачуваність і спрощує налагодження.

Історично, розбір дат був важким через різні стандарти. Та з бібліотеками, як-от Timex, та можливостями мови в Elixir, ця складність абстрагується, роблячи життя розробника трохи простішим.

Див. також