use std::time::Duration; use time::OffsetDateTime; pub const ONE_MINUTE: Duration = Duration::from_secs(60); pub fn last_minute() -> OffsetDateTime { let now_timestamp = OffsetDateTime::now_utc().unix_timestamp(); OffsetDateTime::from_unix_timestamp(now_timestamp - now_timestamp % 60).unwrap() } pub fn next_minute() -> OffsetDateTime { last_minute() + ONE_MINUTE } pub fn duration_until(time: OffsetDateTime) -> Duration { let duration = time - OffsetDateTime::now_utc(); if duration.is_positive() { duration.unsigned_abs() } else { Duration::default() } }