Rust:
So sánh hai ngày

Làm thế nào:

Rust sử dụng chrono để dễ dàng xử lý ngày tháng. Đầu tiên, cargo.toml cần chrono = "0.4". Sau đó, bạn có thể so sánh ngày như sau:

extern crate chrono;
use chrono::{DateTime, Utc};

fn main() {
    let date1: DateTime<Utc> = Utc::now();
    let date2: DateTime<Utc> = Utc::now(); // Thay đổi điều này để có kết quả khác nhau

    if date1 > date2 {
        println!("Ngày1 muộn hơn Ngày2");
    } else if date1 < date2 {
        println!("Ngày1 sớm hơn Ngày2");
    } else {
        println!("Ngày1 bằng với Ngày2");
    }
}

Kết quả mẫu khi ngày1 muộn hơn:

Ngày1 muộn hơn Ngày2

Đào Sâu

Ngày trước, trong những ngày đầu của Rust (thập kỷ 2010), việc so sánh ngày tháng khó khăn hơn - không có crate chrono. chrono đến và đơn giản hóa mọi thứ với các loại như DateTime. Trước chrono, chúng ta phải xử lý thời gian thủ công, dễ mắc lỗi.

Tại sao chrono? Nó trừu tượng hóa những phức tạp như múi giờ và năm nhuận, làm cho việc so sánh ngày tháng đáng tin cậy. Không có nó, bạn sẽ phải xử lý dấu thời gian Unix, cồng kềnh và kém dễ đọc.

Có những sự thay thế cho chrono, như crate time, nhưng chrono được sử dụng rộng rãi vì sự đơn giản và các tính năng của nó.

Xem Thêm