mycommon-utils 0.2.1

Common utilities library for database operations, Redis caching and system utilities
Documentation
// 在 src/time_utils.rs 文件中定义时间工具模块

use chrono::{DateTime, Utc, Local, Duration, NaiveDateTime};
use sea_orm::ActiveValue;

// pub fn get_utc_now() -> NaiveDateTime {
//     Utc::now().naive_utc()
// }

// 获取当前本地时间
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)
}

// 时间运算:计算两个UTC时间之间的差值(天数)
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() // 将 Result<DateTime<Utc>, _> 转换为 Option<DateTime<Utc>>
        .map(|datetime| datetime.with_timezone(&Utc)) // 将 Local 时间转换为 Utc 时间
}
pub fn get_now_time() -> ActiveValue<Option<chrono::NaiveDateTime>> {
    ActiveValue::Set(Some(Utc::now().naive_utc()))
}