Crate tzdb

source ·
Expand description

tzdb — Time Zone Database

GitHub Workflow Status 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

// get the system time zone
let time_zone = tzdb::local_tz().unwrap();       // tz::TimeZoneRef<'_>
let current_time = tzdb::now::local().unwrap();  // 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).unwrap();

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

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

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

Feature flags

  • local (enabled by default) — enable functions to query the current system time



  • Changes between the versions
  • Get the current time in some time zone


  • Find the time zone of the current system
  • Find the raw, unparsed time zone data by name, e.g. "Europe/Berlin" (case-insensitive)
  • Find a time zone by name, e.g. "Europe/Berlin" (case-insensitive)