Beregning av en dato i fremtiden eller fortiden

Rust:
Beregning av en dato i fremtiden eller fortiden

Hvordan Gjøre Det:

Rust bruker chrono biblioteket for dato-aritmetikk. La oss se på et eksempel:

use chrono::{DateTime, Duration, Utc};

fn main() {
    let now = Utc::now();
    println!("Nå: {}", now);

    // Legg til 10 dager til gjeldende tidspunkt
    let future_date = now + Duration::days(10);
    println!("Fremtidig dato: {}", future_date);

    // Trekk fra 10 dager fra gjeldende tidspunkt
    let past_date = now - Duration::days(10);
    println!("Fortidens dato: {}", past_date);
}

Output kan være som dette, avhengig av når du kjører koden:

Nå: 2023-04-09T17:40:42.135768500Z
Fremtidig dato: 2023-04-19T17:40:42.135768500Z
Fortidens dato: 2023-03-30T17:40:42.135768500Z

Dypdykk

Dato-aritmetikk er ikke nytt; kalender-systemer har eksistert i tusenvis av år. I dataprogrammering, er behovet for å manipulere datoer vanlig. Frister, planlegging og historikklogging er vanlige scenarier.

Alternativene til chrono er standard biblioteket std::time og noen tredjepartsbiblioteker som time. chrono tilbyr imidlertid en god balanse mellom funksjonalitet og brukervennlighet. Implementasjonsdetaljene rundt dato-aritmetikk tar hensyn til skuddår, tidssoner, og andre kompleksiteter i tidsberegning.

For å jobbe med tid på tvers av forskjellige tidssoner, har chrono datatyper som DateTime<FixedOffset> og DateTime<Local> i tillegg til DateTime<Utc>.

Når man legger til eller trekker fra dager, kan man også bruke Duration til å representere timer, minutter og sekunder for mer presise operasjoner.

Se Også: