73 releases

0.7.2 Sep 15, 2024
0.6.1 Dec 30, 2023
0.5.7 May 11, 2023
0.5.6 Mar 24, 2023
0.2.1 Mar 27, 2022

#62 in Date and time

Download history 34544/week @ 2024-08-17 40445/week @ 2024-08-24 40778/week @ 2024-08-31 40236/week @ 2024-09-07 36003/week @ 2024-09-14 38740/week @ 2024-09-21 41031/week @ 2024-09-28 42323/week @ 2024-10-05 45211/week @ 2024-10-12 43694/week @ 2024-10-19 47397/week @ 2024-10-26 49078/week @ 2024-11-02 46305/week @ 2024-11-09 49456/week @ 2024-11-16 44866/week @ 2024-11-23 57328/week @ 2024-11-30

205,562 downloads per month
Used in 68 crates (8 directly)

Apache-2.0

2MB
39K SLoC

tzdb — Time Zone Database

GitHub Workflow Status Crates.io docs.rs Minimum supported Rust version License: Apache-2.0

Static time zone information for tz-rs.

This crate provides all time zones found in the Time Zone Database.

Usage examples

let time_zone = tzdb::local_tz()?;       // tz::TimeZoneRef<'_>
let current_time = tzdb::now::local()?;  // tz::DateTime

// access by identifier
let time_zone = tzdb::time_zone::europe::KYIV;
let current_time = tzdb::now::in_tz(tzdb::time_zone::europe::KYIV)?;

// access by name
let time_zone = tzdb::tz_by_name("Europe/Berlin")?;
let current_time = tzdb::now::in_named("Europe/Berlin")?;

// names are case insensitive
let time_zone = tzdb::tz_by_name("ArCtIc/LongYeArByEn")?;
let current_time = tzdb::now::in_named("ArCtIc/LoNgYeArByEn")?;

// provide a default time zone
let current_time = tzdb::now::local_or(tzdb::time_zone::GMT)?;
let current_time = tzdb::now::in_named_or(tzdb::time_zone::GMT, "Some/City")?;

Feature flags

  • local (enabled by default) — enable functions to query the current system time
  • now (enabled by default) — enable functions to query the current system time
  • std (enabled by default, now and local) — enable the use of features in the std crate
  • alloc (enabled by std) — enable the use of features in the alloc crate

Dependencies

~0.2–5.5MB
~10K SLoC