12.2.2. 日期和 UNIX 时间戳的互相转换
使用 NaiveDateTime::timestamp
将由 NaiveDate::from_ymd
生成的日期和由 NaiveTime::from_hms
生成的时间转换为 UNIX 时间戳。然后,它使用 NaiveDateTime::from_timestamp
计算自 UTC 时间 1970 年 01 月 01 日 00:00:00 开始的 10 亿秒后的日期。
use chrono::{NaiveDate, NaiveDateTime}; fn main() { let date_time: NaiveDateTime = NaiveDate::from_ymd(2017, 11, 12).and_hms(17, 33, 44); println!( "Number of seconds between 1970-01-01 00:00:00 and {} is {}.", date_time, date_time.timestamp()); let date_time_after_a_billion_seconds = NaiveDateTime::from_timestamp(1_000_000_000, 0); println!( "Date after a billion seconds since 1970-01-01 00:00:00 was {}.", date_time_after_a_billion_seconds); }