Elixir:
Confronto tra due date

How to:

# Creazione di date
date1 = ~D[2023-03-15]
date2 = ~D[2023-04-01]

# Confronto date
is_before = Date.compare(date1, date2) == :lt
is_same = Date.compare(date1, date2) == :eq
is_after = Date.compare(date1, date2) == :gt

# Output
IO.puts("date1 è prima di date2? #{is_before}") # date1 è prima di date2? true
IO.puts("date1 è la stessa di date2? #{is_same}") # date1 è la stessa di date2? false
IO.puts("date1 è dopo di date2? #{is_after}") # date1 è dopo di date2? false

Deep Dive

Elixir fornisce la Date.compare/2 per confrontare due date. La funzione ritorna :lt (less than), :eq (equal) o :gt (greater than). Prima dell'1.3, confrontare le date era meno intuitivo e richiedeva più codice. Implementazioni alternative preesistenti erano spesso fatte tramite librerie esterne come Timex. Internamente, Date.compare/2 converte le date in valori integer e poi li confronta, permettendo un confronto efficiente e preciso.

See Also