Phân tích ngày từ chuỗi kí tự

Rust:
Phân tích ngày từ chuỗi kí tự

Làm thế nào:

Để phân tích cú pháp ngày tháng trong Rust, chúng ta sử dụng crate chrono, một thư viện đi đến cho ngày và giờ.

Trước tiên, thêm chrono vào Cargo.toml của bạn:

[dependencies]
chrono = "0.4"

Sau đó, đây là một ví dụ đơn giản về việc phân tích cú pháp một ngày ISO 8601:

extern crate chrono;
use chrono::prelude::*;

fn main() {
    let date_str = "2023-04-05";
    let parsed_date = date_str.parse::<NaiveDate>().unwrap();

    println!("Ngày được phân tích cú pháp là: {}", parsed_date);
}

Kết quả đầu ra:

Ngày được phân tích cú pháp là: 2023-04-05

Sâu hơn

chrono là lựa chọn của Rust cho việc phân tích cú pháp ngày và giờ, gần như ngay từ khi Rust ra đời. Trước chrono, Rust có một thư viện thời gian cơ bản, nhưng nó thiếu tính năng. chrono đã lấp đầy khoảng trống đó.

Đối với các lựa chọn thay thế, bạn có crate time, nhưng chrono chiến thắng về độ phổ biến và bộ tính năng. Về mặt thực hiện, việc phân tích một chuỗi ngày tháng liên quan đến việc xác định định dạng và xử lý khả năng thất bại - đó là lý do tại sao chúng ta sử dụng unwrap(), điều này là ổn trong các ví dụ nhưng sử dụng match hoặc unwrap_or_else trong mã thực tế để xử lý lỗi một cách nhẹ nhàng.

Trong lịch sử, các ngôn ngữ lập trình đã gặp khó khăn với ngày và giờ. Đó là một vấn đề phức tạp do có năm nhuận, múi giờ và sự thay đổi giờ mùa hè. Đó là lý do tại sao các crate như chrono rất quý giá - chúng xử lý những điều lạ lùng cho chúng tôi.

Xem Thêm