Een datum uit een string parsen

Rust:
Een datum uit een string parsen

Hoe:

Om datums in Rust te parsen, gebruiken we de chrono crate, een go-to bibliotheek voor datum en tijd.

Voeg eerst chrono toe aan je Cargo.toml:

[dependencies]
chrono = "0.4"

Vervolgens, hier is een simpel voorbeeld van het parsen van een ISO 8601 datum:

extern crate chrono;
use chrono::prelude::*;

fn main() {
    let date_str = "2023-04-05";
    let parsed_date = date_str.parse::<NaiveDate>().unwrap();

    println!("Geparste datum is: {}", parsed_date);
}

Output:

Geparste datum is: 2023-04-05

Diepere Duik

chrono is Rusts keuze voor datum- en tijdsparsing, zo ongeveer sinds de oprichting van Rust. Voor chrono had Rust een basisbibliotheek voor tijd, maar het miste functies. chrono vulde die leemte.

Als alternatieven heb je de time crate, maar chrono wint in populariteit en functieset. Op implementatieniveau gaat het parsen van een datumstring over het specificeren van het formaat en het afhandelen van de mogelijkheid van falen—daarom gebruikten we unwrap(), wat prima is in voorbeelden, maar gebruik match of unwrap_or_else in echte code om fouten sierlijk af te handelen.

Historisch gezien hebben programmeertalen moeite gehad met datum en tijd. Het is complex vanwege schrikkeljaren, tijdzones en veranderingen in zomertijd. Dat is waarom crates zoals chrono waardevol zijn—ze handelen de eigenaardigheden voor ons af.

Zie Ook