Skip to content

Latest commit

 

History

History
29 lines (23 loc) · 1.2 KB

timezone.zh.md

File metadata and controls

29 lines (23 loc) · 1.2 KB

将本地时间,转换为其他时区

[![chrono-badge]][chrono] [![cat-date-and-time-badge]][cat-date-and-time]

offset::Local::now,获取本地时间并展示。然后用DateTime::from_utc结构方法,转换成 UTC 标准格式。之后会用到offset::FixedOffset结构,这样 UTC 时间就能转换为 UTC+8 和 UTC-2。

extern crate chrono;

use chrono::{DateTime, FixedOffset, Local, Utc};

fn main() {
    let local_time = Local::now();
    let utc_time = DateTime::<Utc>::from_utc(local_time.naive_utc(), Utc);
    let china_timezone = FixedOffset::east(8 * 3600);
    let rio_timezone = FixedOffset::west(2 * 3600);
    println!("Local time now is {}", local_time);
    println!("UTC time now is {}", utc_time);
    println!(
        "Time in Hong Kong now is {}",
        utc_time.with_timezone(&china_timezone)
    );
    println!("Time in Rio de Janeiro now is {}", utc_time.with_timezone(&rio_timezone));
}