Розбір дати з рядка

Rust:
Розбір дати з рядка

Як це зробити:

Використовуючи Стандартну Бібліотеку Rust (чейт chrono)

Стандартна бібліотека Rust не включає прямого розбору дат, але широко використовуваний чейт chrono є надійним рішенням для маніпуляцій з датою та часом. Спочатку додайте chrono до вашого Cargo.toml:

[dependencies]
chrono = "0.4"

Потім використовуйте chrono для розбору строки дати в об’єкт NaiveDate:

extern crate chrono;
use chrono::NaiveDate;

fn main() {
    let date_str = "2023-04-01";
    let date = NaiveDate::parse_from_str(date_str, "%Y-%m-%d")
        .expect("Помилка розбору дати");

    println!("Розібрана дата: {}", date);
}

// Приклад виводу:
// Розібрана дата: 2023-04-01

Використовуючи Розширене Оброблення Дати-Часу в Rust (чейт time)

Для більш розширеного оброблення дати-часу, включаючи більш ергономічний розбір, розгляньте чейт time. Спочатку включіть його до вашого Cargo.toml:

[dependencies]
time = "0.3"

Потім розберіть строку дати використовуючи тип Date та PrimitiveDateTime:

use time::{Date, PrimitiveDateTime, macros::datetime};

fn main() {
    let date_str = "2023-04-01 12:34:56";
    let parsed_date = PrimitiveDateTime::parse(
        date_str, 
        &datetime!("%Y-%m-%d %H:%M:%S")
    ).expect("Помилка розбору дати та часу");

    println!("Розібрана дата-час: {}", parsed_date);
}

// Приклад виводу:
// Розібрана дата-час: 2023-04-01 12:34:56

Обидва приклади демонструють, як Rust, за допомогою сторонніх чейтів, сприяє розбору строк дат в маніпульовані об’єкти дат, роблячи його потужним інструментом для розробки програмного забезпечення, що включає тимчасові дані.