Conversion d'une date en chaîne de caractères

Rust:
Conversion d'une date en chaîne de caractères

Comment faire :

use chrono::{DateTime, Utc, Local, NaiveDateTime};

fn main() {
    // Date/heure actuelle en UTC
    let now_utc: DateTime<Utc> = Utc::now();
    println!("Date/heure UTC: {}", now_utc.to_rfc3339());

    // Date/heure actuelle locale
    let now_local: DateTime<Local> = Local::now();
    println!("Date/heure locale: {}", now_local.format("%d-%m-%Y %H:%M:%S").to_string());

    // Convertir une NaiveDateTime sans fuseau horaire en String
    let naive_datetime = NaiveDateTime::from_timestamp(1041379200, 0);
    println!("Date/heure naive: {}", naive_datetime.format("%Y-%m-%d %H:%M:%S").to_string());
}

Sortie :

Date/heure UTC: 2023-04-01T12:34:56+00:00
Date/heure locale: 01-04-2023 14:34:56
Date/heure naive: 2003-01-01 00:00:00

Exploration

Historiquement, Rust utilise la crate chrono pour la gestion des dates, bien que la bibliothèque standard propose des modules pour le temps. chrono offre plus de fonctionnalités pour le formatage et l’analyse de dates qu’une simple conversion en chaînes de caractères. Alternativement, on peut utiliser la bibliothèque time, mais chrono reste la référence de la communauté pour une manipulation riche et précise des dates.

La manipulation des dates implique souvent la gestion des fuseaux horaires avec DateTime, ou le formatage des dates et heures sans time zone avec NaiveDateTime. Il est crucial de choisir le bon type pour représenter correctement la date en fonction de son utilisation.

Quand on convertit une date en chaîne de caractères, on peut utiliser des formats prédéfinis comme RFC3339 ou personnaliser le format en spécifiant un modèle, comme "%d-%m-%Y %H:%M:%S". Les formats personnalisés sont définis suivant la syntaxe de la libc’s strftime.

Voir aussi