use std::time::{SystemTime, UNIX_EPOCH};
#[inline(always)]
pub fn unix_time_ms() -> u64 {
SystemTime::now()
.duration_since(UNIX_EPOCH)
.expect("System time before Unix epoch!")
.as_millis() as u64
}
#[inline(always)]
pub fn time_since_epoch(epoch: u64) -> u64 {
unix_time_ms() - epoch
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_unix_time_is_reasonable() {
let now = unix_time_ms();
assert!(now > 1704067200000);
assert!(now < 4102444800000);
}
#[test]
fn test_time_since_epoch() {
let epoch = 1704067200000u64; let ts = time_since_epoch(epoch);
assert!(ts > 0);
assert!(ts < 100 * 365 * 24 * 60 * 60 * 1000);
}
}