Crates.io | tzparse |
lib.rs | tzparse |
version | 1.1.3 |
source | src |
created_at | 2019-11-20 16:11:54.002578 |
updated_at | 2020-11-27 10:15:08.172411 |
description | This high-level library reads IANA system timezone information files and returns transition times (ie. daylight saving time) and human readable data about a timezone. |
homepage | |
repository | https://github.com/nicolasbauw/rs-tzparse |
max_upload_size | |
id | 183008 |
size | 52,926 |
PLEASE NOTE This library is no longer maintained and has been merged with the libtzfile library.
This library's functions are used to retrieve transition times and date/time characteristics for a given TZ. Based on IANA database, system timezone files and libtzfile library that you should use instead.
There are two functions:
get_zoneinfo
parses the tzfile and returns a Tzinfo struct which provides useful and human-readable data about the timezone
and can be converted to a json string with an optional feature.
get_timechanges
obtains time changes for specified year, or all time changes recorded in the TZfile if no year is specified.
Example with get_zoneinfo:
[dependencies]
tzparse = { version = "1.1", features=["json"] }
fn main() {
println!("{}", tzparse::get_zoneinfo("/usr/share/zoneinfo/Europe/Paris").unwrap().to_json().unwrap());
}
Outputs:
{"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}
The get_timechanges function for Europe/Paris in 2019 returns:
[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" }]
License: GPL-3.0