Skip to content

Provide NewType of Datetime that overrides the default value.

Notifications You must be signed in to change notification settings

yassun7010/datetime-default

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

datetime-default

DateTime NewType set for default time

Latest Version GitHub license

When you want to use #[derive(Default)] to a struct, you may want the current time to be the default for DateTime. For this purpose, we have provided NewType that overrides the default value.

Features

DateTimeDefaultNow

DateTime with current time as default.

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

DateTime with UNIX epoch as default.

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()
);

Default Datetime with TimeZone

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()
);

License: MIT

About

Provide NewType of Datetime that overrides the default value.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages