Elixir:
Kahden päivämäärän vertailu

How to:

Elixirissä päivämäärien vertailu on suoraviivaista, käytämme DateTime-moduulia.

# Luo kaksi päivämäärä-tietuetta
dt1 = ~N[2023-04-15 14:00:00]
dt2 = ~N[2023-04-18 14:00:00]

# Vertailu käyttäen DateTime.compare/2
result = DateTime.compare(dt1, dt2)

# Tarkistaa, onko ensimmäinen päivämäärä aikaisempi
if result == :lt do
  IO.puts "Ensimmäinen päivämäärä on aikaisempi."
else
  IO.puts "Toinen päivämäärä on aikaisempi tai päivämäärät ovat samat."
end

Esimerkkiajoitus palauttaisi:

"Ensimmäinen päivämäärä on aikaisempi."

Deep Dive

Elixirin DateTime-moduuli tuli käyttöön Elixir 1.3 -versiossa osana standardikirjastoa. Se tekee päivämäärien ja ajan käsittelystä tarkkaa ja joustavaa. Vaihtoehtoisesti voitaisiin käyttää kolmannen osapuolen kirjastoja kuten Timex, mutta vakiona tulevat työkalut riittävät useimpiin tarpeisiin.

Vertailtaessa päivämääriä, Elixir suhteuttaa ne UTC-aikaan, mikä tarkoittaa, että aikavyöhykkeiden vaikutukset tulee ottaa huomioon. DateTime.compare/2 on suoraviivainen ja palauttaa joko :lt (less than, vähemmän kuin), :gt (greater than, enemmän kuin) tai :eq (equal, samat), joka ilmaisee päivämäärien suhteellisen järjestyksen.

See Also