Elixir:
日付を比較する
How to (やり方)
Elixirでは、DateTime モジュールを使用して簡単に日付を比較できます。以下の例を参照してください。
# Elixir のインタラクティブシェルでの実行を想定
# 日付の作成
date1 = ~U[2023-03-15T14:30:00Z]
date2 = ~U[2023-10-22T18:45:00Z]
# 日付を比較
compare_result = DateTime.compare(date1, date2)
# 結果の出力
IO.puts(compare_result) # 出力は :lt (less than)、:gt (greater than)、または :eq (equal) のいずれか
# 比較例
IO.puts(DateTime.compare(~U[2023-03-15T14:30:00Z], ~U[2023-03-15T14:30:00Z])) # 出力: :eq
IO.puts(DateTime.compare(~U[2023-03-15T14:30:00Z], ~U[2021-01-01T00:00:00Z])) # 出力: :gt
Deep Dive (詳細な情報)
Elixirには、標準ライブラリである DateTime
モジュールが搭載されています。これは、ElixirがErlangの上にビルドされているため、Erlangの強力な時間と日付の処理機能を利用できることを意味します。Erlangは通信システムでの利用を念頭に置いて開発されたため、時刻処理はその核となる機能の一つです。
日付の比較以外にも、DateTime
モジュールは日時の追加や差し引き、時差の取り扱いといった操作を簡単に行うことができます。また、Date
やTime
といった別のモジュールも使用して日付だけまたは時刻だけを取り扱うことも可能です。
実装の詳細では、内部でISO8601形式を扱い、構造体(%DateTime{}
)を使って日時データを表現します。これにより、パターンマッチングやElixirの他の機能とのシームレスな統合が可能になります。