Rust:
Konwersja daty na łańcuch znaków
How to: (Jak to zrobić?)
Na początek, zaimportuj chrono
– popularną bibliotekę do zarządzania czasem. Potem użyj właściwej metody do konwersji. Pokażę to na przykładzie:
extern crate chrono;
use chrono::{DateTime, Utc, Local};
fn main() {
let now_utc: DateTime<Utc> = Utc::now();
let now_local: DateTime<Local> = Local::now();
// Formatowanie do String w standardowym formacie RFC 3339
let utc_string = now_utc.to_rfc3339();
let local_string = now_local.to_rfc3339();
println!("UTC time: {}", utc_string);
println!("Local time: {}", local_string);
// Dostosowanie formatu daty
let custom_format = now_local.format("%Y-%m-%d %H:%M:%S").to_string();
println!("Custom local time: {}", custom_format);
}
Wyjście z programu pokazuje daty w różnych formatach – zarówno UTC, jak i lokalny.
Deep Dive (Dogłębna analiza)
Czas w informatyce ma długą historię. Rust używa systemu chrono
jako de facto standardu do manipulacji czasem. Alternatywą jest wbudowany w standardową bibliotekę moduł std::time
, ale ten jest mniej elastyczny.
chrono
oferuje wiele metod do transformaty, włączając w to wsparcie dla stref czasowych. Konwersja daty do stringa odbywa się przez formater, który pozwala na określenie niemal dowolnego formatu wyjściowego.
Co więcej, Rust zapewnia bezpieczeństwo typów przy konwersji, minimalizując ryzyko błędów związanych z formatem dat. To mocno ogranicza możliwe błędy związane z obsługą czasu.
See Also (Zobacz również)
- Oficjalna dokumentacja
chrono
: https://docs.rs/chrono/ - Rust by Example, rozdział o czasie: https://doc.rust-lang.org/rust-by-example/std_misc/chrono.html
- Tutorial o manipulacji czasem w Rust: https://stevedonovan.github.io/rustifications/2018/09/08/date-time-in-rust.html