cyberex 0.3.48

Utilities Library
Documentation
use cyberex::{
    custom_format_xtime,
    xtime::datatime::{XTime, XTimeStrFormat},
};
use serde::{Deserialize, Serialize};
use serde_with::serde_as;

custom_format_xtime!(XTimeCustom2, XTimeStrFormat::Custom("%Y-%m-%d %H:%M:%S".to_string()));

#[test]
fn test_case_xtime_custom() {
    #[serde_as]
    #[derive(Deserialize, Serialize)]
    struct MyTime {
        #[serde_as(as = "XTimeCustom2")]
        time: XTime,
    }

    let json_str = r#"{"time":"2023-11-10 14:43:51"}"#;
    let my_time: MyTime = serde_json::from_str(json_str).unwrap();
    assert_eq!(my_time.time.as_timestamp_s(), 1699598631);
    assert_eq!(serde_json::to_string(&my_time).unwrap(), json_str);
}