Задачи на дату/время в Rust. Часть 4
Дана дата:
let date = NaiveDate::from_ymd_opt(2024, 1, 1).unwrap();
Прибавьте 1 день через Duration::days(1).
Дана дата:
let date = NaiveDate::from_ymd_opt(2024, 3, 15).unwrap();
Отнимите 1 неделю.
Дана дата:
let date = NaiveDate::from_ymd_opt(2024, 6, 10).unwrap();
Прибавьте 2 месяца через Months или checked_add_months.
Дано время:
let time = NaiveTime::from_hms_opt(10, 0, 0).unwrap();
Прибавьте 90 минут.
Дана дата:
let date = NaiveDate::from_ymd_opt(2024, 12, 25).unwrap();
Отнимите 10 дней.
Даны две даты:
let a = NaiveDate::from_ymd_opt(2024, 1, 15).unwrap();
let b = NaiveDate::from_ymd_opt(2024, 2, 20).unwrap();
Вычислите разницу в днях и часах (через datetime).
Дана дата-время:
let dt = NaiveDate::from_ymd_opt(2024, 5, 1).unwrap().and_hms_opt(8, 0, 0).unwrap();
Прибавьте 2 дня 3 часа.
Дана дата:
let date = NaiveDate::from_ymd_opt(2024, 2, 28).unwrap();
Прибавьте 1 день и проверьте результат для високосного года.
Дано время:
let t1 = NaiveTime::from_hms_opt(22, 30, 0).unwrap();
let t2 = NaiveTime::from_hms_opt(1, 15, 0).unwrap();
Вычислите разницу с учётом перехода через полночь (через datetime).
Дана дата:
let date = NaiveDate::from_ymd_opt(2024, 7, 1).unwrap();
Прибавьте 1 год через checked_add_months или Years.