Задачи на дату/время в Rust. Часть 8
Дан UTC момент:
let utc = Utc::now();
Преобразуйте в локальное время через .with_timezone(&Local).
Дан offset:
let moscow = FixedOffset::east_opt(3 * 3600).unwrap();
Выведите текущее время для UTC+3.
Даны зоны:
let offsets = vec![0, 3 * 3600, -5 * 3600];
Выведите время для каждого смещения.
Дана строка UTC:
let s = "2024-06-01T12:00:00Z";
Распарсьте через DateTime::parse_from_rfc3339 и переведите в локальную зону.
Даны два города:
let utc_time = Utc::now();
Выведите время в Москве (+3) и Нью-Йорке (-5).
Дана дата-время:
let dt = Utc.with_ymd_and_hms(2024, 1, 1, 0, 0, 0).unwrap();
Конвертируйте в timestamp и обратно.
Дан интервал:
let start = Utc.with_ymd_and_hms(2024, 6, 1, 10, 0, 0).unwrap();
let end = Utc.with_ymd_and_hms(2024, 6, 1, 18, 0, 0).unwrap();
Вычислите длительность встречи.
Дан момент:
let now = Local::now();
Сохраните в файл ISO-строку (concept с fs::write).
Даны события в UTC:
let events = vec!["2024-05-01T08:00:00Z", "2024-05-01T17:00:00Z"];
Покажите время событий в локальной зоне.
Сравните chrono::Local, Utc и FixedOffset — когда что использовать.