working_with_time/
working_with_time.rs1use kdb::{Date, Timespan, Timestamp};
2use std::{
3 convert::TryFrom,
4 time::{Duration, SystemTime},
5};
6
7fn main() {
8 let t = Timestamp::from(SystemTime::now());
9 println!("{} nanos from unix epoch", t.as_nanos_unix());
10 println!("{} nanos from 1 Jan 2000 (KDB epoch)", t.as_raw());
11
12 let ts = Timespan::from_nanos(60_000_000_000);
13 let ts2 = Timespan::from_secs(60);
14 let ts3 = Timespan::try_from(Duration::from_secs(60)).unwrap();
15 assert_eq!(ts, ts2);
16 assert_eq!(ts, ts3);
17
18 let d = Date::new(2020, 2, 12);
19 assert_eq!(d.as_raw(), 20 * 365 + 5 + 31 + 12 - 1); }