【发布时间】:2019-09-26 18:01:37
【问题描述】:
有没有办法在 Rust 中将时区缩写(例如 EST 或 MDT)解析为时区偏移量(例如 -5 小时或 -7 小时)? chrono_tz crate 似乎几乎可以做到这一点,但并不完全如此。
【问题讨论】:
-
您可以在crates.io 上查看它
-
请记住,时区缩写不是标准化的(夏威夷同时使用 HST 或 HAST),也不是唯一的(CST 可能属于美国中部标准时间、古巴标准时间或中国标准时间) , 也不是所有时区都有 缩写(tzdb 区域中的许多区域只会将缩写显示为偏移量,如“+02”)。此外,某些语言使用的缩写与我们在英语中可能使用的缩写不同 - 例如英语中的 EST 或法语中的 HNE 在加拿大都用于同一区域。
-
谢谢@MattJohnson - 下面的harmic 提到它们没有很好地标准化。我不知道——我想如果我在 ISO 8601 或类似标准中寻找它们,我会知道的。我支持的协议使用它们而不是数字偏移量,这很烦人。
-
有一些标准使用缩写,例如RFC 2822's
obs-zonedefinition。尽管即使在那里它们也是“过时的”,因为它们最初是在较早的 RFC 822 中定义的,在这种冲突被很好地理解之前。
标签: rust timezone timezone-offset chrono-tz