Een datum in de toekomst of het verleden berekenen

Rust:
Een datum in de toekomst of het verleden berekenen

Hoe te:

Rust heeft de chrono crate voor al je datum- en tijdsbehoeften. Hier is hoe je een datum kunt optellen of aftrekken:

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

fn main() {
    let now = Utc::now();
    println!("Huidige UTC-tijd: {}", now);

    let twee_weken = Duration::weeks(2);
    let toekomstige_datum = now + twee_weken;
    println!("UTC over twee weken: {}", toekomstige_datum);

    let dertig_dagen_geleden = Duration::days(-30);
    let verleden_datum = now + dertig_dagen_geleden;
    println!("UTC 30 dagen geleden: {}", verleden_datum);
}

Voorbeelduitvoer:

Huidige UTC-tijd: 2023-04-01T12:00:00Z
UTC over twee weken: 2023-04-15T12:00:00Z
UTC 30 dagen geleden: 2023-03-02T12:00:00Z

Uitdieping

Traditioneel is het manipuleren van datum en tijd een lastige taak geweest. Verschillende systemen en programmeertalen gaan er op verschillende manieren mee om. De standaardbibliotheek van Rust biedt basisfunctionaliteit, maar de chrono crate is de gangbare oplossing.

Alternatieven? Zeker, je zou handmatig data kunnen berekenen door alles om te zetten naar timestamps, met de getallen te manipuleren en vervolgens terug te converteren. Of, je zou tijdsspecifieke bibliotheken in andere talen kunnen gebruiken - Python heeft datetime, JavaScript heeft Date, enzovoort.

De chrono crate in Rust geeft je tijdzonebewuste typen zoals DateTime, en duur zoals hierboven gezien. Het handelt alle lastige zaken af zoals schrikkeljaren en zomertijd zodat jij dat niet hoeft te doen. Het doet ook datum parsing en formatting, waardoor het een uitgebreide oplossing is.

Zie Ook