Rustchrono::Local
包含本地时区信息,但似乎没有任何方法来获取字符串或秒数偏移量的值。
任何想法都是如何获得正确的局部偏移量,以便
DateTime::parse_from_rfc3339([iso8601 date] + [timezone]).unwrap().with_timezone(&Local)
Run Code Online (Sandbox Code Playgroud)
将返回DateTime
运行代码的计算机的默认当前时区。
您可以使用
Local.timestamp(0, 0).offset().fix().local_minus_utc()
Run Code Online (Sandbox Code Playgroud)
它以秒为单位返回 UTC 的本地偏移量(例如,它在我的 CET 系统上返回 3600)。
(游乐场的固定链接,它似乎使用 UTC,因此返回 0)
tek*_*aul -3
目前我有一个仅适用于 Linux 的 hacky 解决方案
/// returns local timezone "+01:00"
fn tz() -> String {
let output = Command::new("date").arg("+%:z").output()
.expect("failed to fetch timezone");
String::from(String::from_utf8_lossy(&output.stdout).trim())
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5344 次 |
最近记录: |