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
関数は、ISO8601日付標準(一般的な日付フォーマット)の簡単な解析を保証するために導入された、Elixirの標準ライブラリの一部です。しかし人生はそんなに単純ではありません。日付は多様なフォーマットで存在します。ここで、サードパーティのElixirライブラリであるTimex
が登場します。Timex
は、組み込みのElixir日付関数よりも豊富であり、さまざまな日付フォーマットを扱うのに役立ちます。
Elixir自体は不変であり、解析された日付も例外ではありません。一度作成されたら変更できません。この機能は、Elixirの関数型プログラミングのルーツに立ち返り、予測可能性とデバッグの容易さを保証します。
歴史的に、日付の解析は様々な標準が存在するため困難でした。しかし、Timex
のようなライブラリやElixirの言語機能を使用することで、複雑さが抽象化され、開発者の生活が少し簡単になります。