18 个版本 (8 个稳定版本)
1.1.3 | 2020 年 11 月 27 日 |
---|---|
1.1.1 | 2020 年 7 月 3 日 |
1.0.3 | 2020 年 1 月 25 日 |
0.5.2 | 2020 年 1 月 4 日 |
0.3.0 | 2019 年 11 月 20 日 |
#20 在 #dst
18KB
260 行
tzparse
请注意 此库不再维护,并已与 libtzfile 库 合并。
此库的函数用于获取给定 TZ 的过渡时间和日期/时间特征。基于 IANA 数据库、系统时区文件和您应使用的 libtzfile 库。
有两个函数
get_zoneinfo
解析 tzfile 并返回一个 Tzinfo 结构体,它提供了关于时区的有用且易于理解的数据,并且可以通过可选功能转换为 json 字符串。
get_timechanges
获取指定年份的时间变化,如果没有指定年份,则获取 TZfile 中记录的所有时间变化。
使用 get_zoneinfo 的示例
[dependencies]
tzparse = { version = "1.1", features=["json"] }
fn main() {
println!("{}", tzparse::get_zoneinfo("/usr/share/zoneinfo/Europe/Paris").unwrap().to_json().unwrap());
}
输出
{"timezone":"Europe/Paris","utc_datetime":"2020-01-22T14:12:36.792898Z","datetime":"2020-01-22T15:12:36.792898+01:00",
"dst_from":"2020-03-29T01:00:00Z","dst_until":"2020-10-25T01:00:00Z","dst_period":false,"raw_offset":3600,
"dst_offset":7200,"utc_offset":"+01:00","abbreviation":"CET","week_number":4}
get_timechanges 函数针对 2019 年的欧洲/巴黎返回
[Timechange { time: 2019-03-31T01:00:00Z, gmtoff: 7200, isdst: true, abbreviation: "CEST" },
Timechange { time: 2019-10-27T01:00:00Z, gmtoff: 3600, isdst: false, abbreviation: "CET" }]
许可证:GPL-3.0
依赖关系
~1–1.6MB
~27K SLoC