Преобразование даты в строку

Rust:
Преобразование даты в строку

Как это сделать:

Для работы с датой и временем в Rust используется крейт chrono. Убедитесь, что он есть в вашем Cargo.toml:

[dependencies]
chrono = "0.4"

Теперь давайте отформатируем дату как строку.

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

fn main() {
    let date: DateTime<Utc> = Utc::now(); // Получаем текущую дату и время в UTC.
    let formatted_date = date.format("%Y-%m-%d %H:%M:%S").to_string();
    println!("{}", formatted_date); // Выводит: 2023-03-15 14:30:45
}

Подробнее

До появления chrono в стандартной библиотеке Rust было несколько функций для работы с датой и временем, но они были базовыми. chrono построен на этом фундаменте и предлагает комплексный функционал. Альтернативой может быть новый крейт time от Rust, который стремится к более безопасному и удобному API.

Когда вы преобразуете дату в строку, вы сериализуете – превращаете данные в формат, который можно передавать или хранить. Выбранный вами формат (%Y-%m-%d %H:%M:%S в нашем случае) на ваше усмотрение, и chrono поддерживает множество таких шаблонов.

Внутренне, даты часто хранятся в виде временных отметок – секунд с начальной точки, например, с эпохи Unix (1 января 1970 года). Когда вы форматируете дату, вы вычисляете читаемую человеком форму из этого счета, учитывая часовые пояса и високосные секунды.

См. также