fantasy_util/time/
system_time.rs1use std::time::{SystemTime, UNIX_EPOCH};
2
3pub struct SystemLocalTime {}
4
5impl SystemLocalTime {
7 pub fn unix_nanos() -> u128 {
14 SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_nanos()
15 }
16
17 pub fn unix_micros() -> u128 {
24 SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_micros()
25 }
26
27 pub fn unix_mills() -> u64 {
34 SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_millis() as u64
35 }
36
37 pub fn unix_secs() -> u64 {
44 SystemTime::now().duration_since(UNIX_EPOCH).unwrap().as_secs()
45 }
46}
47
48
49#[cfg(test)]
50mod tests {
51 use crate::time::system_time::SystemLocalTime;
52
53 #[test]
54 fn it_works() {
55 println!("{:X}", u128::max_value());
56 println!("{:X}", SystemLocalTime::unix_nanos());
57 println!("{:X}", SystemLocalTime::unix_micros());
58 println!("{:X}", SystemLocalTime::unix_mills());
59 println!("{:X}", SystemLocalTime::unix_secs());
60 assert_eq!(2 + 2, 4);
61 }
62}