#default-value #date-time #default #chrono #now

datetime-default

提供重写默认值的 Datetime 新类型

6 个版本 (稳定版)

1.1.1 2023年2月26日
1.1.0 2022年10月25日
1.0.1 2022年10月11日
0.1.1 2022年10月10日
0.1.0 2022年10月10日

日期和时间 中排名第 179

每月下载量 21

MIT 许可证

34KB
909

datetime-default

为默认时间设置 DateTime NewType

Latest Version GitHub license

当您想将 #[derive(Default)] 应用到一个结构体上,可能希望当前时间为 DateTime 的默认值。为此,我们提供了重写默认值的新类型。

功能

DateTimeDefaultNow

将当前时间作为默认值的 DateTime。

use chrono::{Local, TimeZone};
use datetime_default::DateTimeDefaultNow;

assert_eq!(
    DateTimeDefaultNow::<Local>::default(),
    Local.datetime_from_str("2022/10/10 23:40:11.695164300", "%Y/%m/%d %H:%M:%S%.9f").unwrap()
);

DateTimeDefaultUnix

将 UNIX 纪元作为默认值的 DateTime。

use chrono::{Utc, TimeZone};
use datetime_default::DateTimeDefaultUnix;

assert_eq!(
    DateTimeDefaultUnix::<Utc>::default(),
    Utc.datetime_from_str("1970/1/1 00:00:00", "%Y/%m/%d %H:%M:%S").unwrap()
);

带时区的默认 DateTime

use chrono::{DateTime, FixedOffset, TimeZone};
use datetime_default::DateTimeDefaultUnix;

assert_eq!(
    DateTimeDefaultUnix::<FixedOffset, 9>::default(),
    DateTime::parse_from_rfc3339("1970-01-01T09:00:00+09:00").unwrap()
);

许可证:MIT

依赖项

~1–1.5MB
~24K SLoC