use chrono::{DateTime, Utc, Local, Duration, NaiveDateTime};
use sea_orm::ActiveValue;
pub fn get_local_now() -> DateTime<Local> {
Local::now()
}
pub fn get_local_now_naive_datetime() -> NaiveDateTime {
Local::now().naive_local()
}
pub fn add_days_to_local_now(days: i64) -> DateTime<Local> {
Local::now() + Duration::days(days)
}
pub fn diff_days_utc(start: DateTime<Utc>, end: DateTime<Utc>) -> i64 {
(end - start).num_days()
}
pub fn parse_from_str(s: &str) -> Option<DateTime<Utc>> {
DateTime::parse_from_str(s, "%Y%m%d%H%M%S")
.ok() .map(|datetime| datetime.with_timezone(&Utc)) }
pub fn get_now_time() -> ActiveValue<Option<chrono::NaiveDateTime>> {
ActiveValue::Set(Some(Utc::now().naive_utc()))
}