toolcraft_utils/utils/
time_util.rs1use std::time::{Duration, SystemTime, UNIX_EPOCH};
2
3use time::{OffsetDateTime, format_description::well_known::Rfc3339};
4
5pub fn get_current_timestamp_secs() -> i64 {
6 let duration = get_current_duration();
7 duration.as_secs() as i64
8}
9
10pub fn get_current_timestamp_millis() -> i64 {
11 let duration = get_current_duration();
12 duration.as_millis() as i64
13}
14
15pub fn timestamp_to_rfc3339(timestamp: i64) -> String {
16 let datetime = timestamp_to_datetime(timestamp);
17 datetime.format(&Rfc3339).unwrap()
18}
19
20pub fn timestamp_to_date(timestamp: i64) -> String {
21 let datetime = timestamp_to_datetime(timestamp);
22 datetime.date().to_string()
23}
24
25fn get_current_duration() -> Duration {
26 let now = SystemTime::now();
27 now.duration_since(UNIX_EPOCH).unwrap()
28}
29
30fn timestamp_to_datetime(timestamp: i64) -> OffsetDateTime {
31 OffsetDateTime::from_unix_timestamp(timestamp).unwrap()
32}