/
inhosin
/
basic-rust-lessons
Обзор
Документация
Войти
/
inhosin
/
basic-rust-lessons
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
libs/date_time_lib/src/lib.rs
47 строк
1 KB
Denis Basargin
Lesson 27
02 янв 2026, 17:19
02 янв 2026, 17:19
0e4ebc0
Код
Авторство
О чём код?
//! Библиотека для работы с датами и временем pub mod date_utils { use std::time::{SystemTime, UNIX_EPOCH}; /// Получение текущего времени в секундах pub fn current_timestamp() -> u64 { SystemTime::now() .duration_since(UNIX_EPOCH) .expect("Время не может быть отрицательным") .as_secs() } /// Проверка, является ли год високосным pub fn is_leap_year(year: i32) -> bool { (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) } } pub mod time_utils { /// Конвертация секунд в минуты pub fn seconds_to_minutes(seconds: u64) -> u64 { seconds / 60 } /// Конвертация секунд в часы pub fn seconds_to_hours(seconds: u64) -> u64 { seconds / 3600 } } #[cfg(test)] mod tests { use super::*; #[test] fn test_leap_year() { assert!(date_utils::is_leap_year(2020)); assert!(!date_utils::is_leap_year(2021)); } #[test] fn test_time_conversion() { assert_eq!(time_utils::seconds_to_minutes(120), 2); assert_eq!(time_utils::seconds_to_hours(3600), 1); } }