Разбор даты из строки в Rust
Текст с фиксированным порядком полей можно
превратить в дату, если заранее описать
шаблон символами вроде "%Y-%m-%d".
Разбор возвращает результат с ошибкой,
если строка не подходит под правило.
Подключите тип наивной даты и разберите строку в формате год-месяц-день:
use chrono::NaiveDate;
fn main() {
match NaiveDate::parse_from_str("2026-10-02", "%Y-%m-%d") {
Ok(date) => println!("{}", date),
Err(_) => println!("bad text"),
}
}
На экране снова 2026-10-02. Успешный
вариант попадает в ветку с выводом, а
битый текст уходит в ветку с сообщением.
Тот же шаблон с другой корректной строкой:
use chrono::NaiveDate;
fn main() {
if let Ok(date) = NaiveDate::parse_from_str("1999-12-31", "%Y-%m-%d") {
println!("{}", date);
}
}
Дана дата текстом:
let date = "2025-06-01";
Разберите ее по шаблону "%Y-%m-%d"
и выведите результат.
Дана дата текстом:
let date = "2025/06/01";
Попробуйте разобрать ее тем же шаблоном
"%Y-%m-%d" и скажите, что произойдет.
Дана дата текстом:
let date = "15.03.2024";
Подберите шаблон с "%d", "%m"
и "%Y" через точки и получите дату.