Sammenlikning av to datoer

Rust:
Sammenlikning av to datoer

Hvordan:

use chrono::{DateTime, Utc};

fn main() {
    let start_dato = Utc.ymd(2023, 3, 18).and_hms(8, 0, 0); // 18. mars 2023, kl 08:00
    let slutt_dato = Utc.ymd(2023, 4, 5).and_hms(17, 30, 0); // 5. april 2023, kl 17:30
    println!("Starter før slutter? {}", start_dato < slutt_dato); 
    println!("Antall dager mellom: {}", (slutt_dato - start_dato).num_days());
}

// Utdata:
// Starter før slutter? true
// Antall dager mellom: 18

Dypdykk

Før chrono ble Rust-standard for dato/tidsoperasjoner, brukte folk ofte tid-modulen. chrono tilbyr flere funksjoner og bedre sikkerhet. Når du sammenligner datoer, jobber chrono med DateTime-objekter som kan sammenlignes ved hjelp av standardoperasjonene. Det håndterer også tidsregning og tidssoner på en måte som gjør koden din mer robust.

Du kan også bruke Duration for å måle tidsintervaller. Under panseret bruker chrono et system med NaiveDateTime for datoer og tider uten tidssoneinformasjon og fancy beregninger for skuddår og tidsendringer.

Se også