Rust:
Chuyển đổi một ngày thành chuỗi
Cách thực hiện:
Crate chrono
trong Rust là lựa chọn hàng đầu cho việc xử lý ngày và giờ. Hãy chắc chắn nó đã được thêm vào Cargo.toml
của bạn:
[dependencies]
chrono = "0.4"
Bây giờ, chúng ta hãy định dạng một ngày thành chuỗi.
extern crate chrono;
use chrono::{DateTime, Utc, NaiveDateTime};
fn main() {
let date: DateTime<Utc> = Utc::now(); // Lấy ngày và giờ hiện tại theo UTC.
let formatted_date = date.format("%Y-%m-%d %H:%M:%S").to_string();
println!("{}", formatted_date); // In ra: 2023-03-15 14:30:45
}
Tìm Hiểu Sâu Hơn
Trước chrono
, thư viện chuẩn của Rust có một số chức năng về ngày và giờ, nhưng chúng rất căn bản. chrono
được xây dựng trên nền tảng đó để cung cấp chức năng toàn diện. Một lựa chọn khác có thể là crate time
mới của Rust, hướng tới một API an toàn và dễ sử dụng hơn.
Khi bạn chuyển một ngày thành chuỗi, bạn đang thực hiện việc tuần tự hóa – chuyển đổi dữ liệu thành một định dạng có thể được chia sẻ hoặc lưu trữ. Định dạng bạn chọn (%Y-%m-%d %H:%M:%S
trong trường hợp của chúng ta) tùy thuộc vào bạn, và chrono
hỗ trợ nhiều mẫu như thế.
Bên trong, các ngày thường được lưu trữ dưới dạng dấu thời gian – giây từ một điểm bắt đầu, như epoch Unix (1 tháng 1 năm 1970). Khi bạn định dạng một ngày, bạn tính toán hình thức dễ đọc từ con số này, xem xét các múi giờ và giây nhuận.
Xem Thêm
- Tài liệu crate
chrono
: https://docs.rs/chrono/ - Tài liệu crate
time
của Rust: https://docs.rs/time/ - Cú pháp định dạng ngày: http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table