使用时间-TZ库,如何获得指定时区中的当前时间?
我试过了
let naive_dt = Local::now().naive_local();
let dt = Los_Angeles.from_local_datetime(&naive_dt).unwrap();
println!("{:#?}", dt);但是它在当前时区中打印了日期时间,并附加了请求的时区标识符,从而给出了一个时区差异所导致的日期时间。
例如,在18:30 AEST (UTC+10),我要求当前的时间在PST (UTC-8)。应该是晚上00点30分。相反,我得到了PST 18:30
发布于 2016-12-15 08:01:50
根据UTC而不是本地时间构造值。
let utc = UTC::now().naive_utc();
let dt = Los_Angeles.from_utc_datetime(&utc);发布于 2021-07-02 06:24:20
您可以使用chrono::DateTime::with_timezone将DateTime<Utc>转换为另一个时区。
示例:
#![forbid(unsafe_code)]
use chrono::{DateTime, Utc};
use chrono_tz::Tz;
use chrono_tz::US::Pacific;
fn main() {
let pacific_now: DateTime<Tz> = Utc::now().with_timezone(&Pacific);
println!("pacific_now = {}", pacific_now);
}$ cargo run --bin example
pacific_now = 2021-07-01 23:22:11.052490 PDThttps://stackoverflow.com/questions/41158999
复制相似问题