Rust:
Comparer deux dates
How to:
En Rust, on utilise le crate chrono
pour manipuler les dates. Voici comment comparer deux dates :
extern crate chrono;
use chrono::{DateTime, Utc};
fn main() {
let date1: DateTime<Utc> = Utc.ymd(2023, 4, 5).and_hms(14, 30, 0); // 5 avril 2023, 14h30
let date2: DateTime<Utc> = Utc.ymd(2023, 4, 10).and_hms(15, 45, 0); // 10 avril 2023, 15h45
if date1 < date2 {
println!("La première date est plus ancienne.");
} else {
println!("La deuxième date est plus ancienne ou les deux dates sont identiques.");
}
}
// Output attendu: "La première date est plus ancienne."
Deep Dive
Historiquement, comparer deux dates nécessitait de gérer manuellement les formats et les fuseaux horaires, ce qui était source d’erreurs. Avec des crates comme chrono
, c’est plus simple et sûr. Il existe d’autres crates, comme time
ou date
, mais chrono
est souvent préféré pour sa richesse fonctionnelle.
Lors de la comparaison de dates, on teste souvent si une date est antérieure, postérieure ou la même (avec les opérateurs <
, >
, ==
). La prise en compte des fuseaux horaires est essentielle pour l’exactitude, ce que chrono
gère automatiquement.
See Also
Pour en savoir plus, consultez :
- La documentation de
chrono
: https://docs.rs/chrono - Guide Rust par la pratique pour les dates et heures: https://rust-lang-nursery.github.io/rust-cookbook/datetime.html
- Le crate
time
comme alternative: https://docs.rs/time