Organize modules

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2024-01-16 13:55:44 +00:00
parent ad9cd197af
commit ad7a6407ff
23 changed files with 24 additions and 21 deletions

23
src/utils/time.rs Normal file
View File

@@ -0,0 +1,23 @@
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()
}
}