use chrono::prelude::*;
use chrono::DateTime as chrono_DateTime;
pub fn timestamp(unit: &str) -> i64 {
match unit {
"ms" => {
Local::now().timestamp_millis()
}
"us" => {
Local::now().timestamp_nanos()
}
_ => {
Local::now().timestamp()
}
}
}
pub fn to_date(timestamp: i64) -> String {
let fmt = "%Y-%m-%d";
let dt: chrono_DateTime<Local> = Local.timestamp_nanos((timestamp * 1000000000) as i64);
return dt.format(fmt).to_string();
}
pub fn to_datetime(timestamp: i64) -> String {
let fmt = "%Y-%m-%d %H:%M:%S";
let dt: chrono_DateTime<Local> = Local.timestamp_nanos((timestamp * 1000000000) as i64);
return dt.format(fmt).to_string();
}
pub fn to_time(timestamp: i64) -> String {
let mut second_time = timestamp; let mut minute_time = 0; let mut hour_time = 0; if second_time >= 60 {
minute_time = second_time / 60;
second_time = second_time % 60;
if minute_time >= 60 {
hour_time = minute_time / 60;
minute_time = minute_time % 60;
}
}
let res = format!("{:02}:{:02}:{:02}", hour_time, minute_time, second_time);
return res;
}