Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kijewski/tzdb
Static time zone information for tz-rs.
https://github.com/kijewski/tzdb
iana-tzdb rust timezone tz tzdata
Last synced: 4 days ago
JSON representation
Static time zone information for tz-rs.
- Host: GitHub
- URL: https://github.com/kijewski/tzdb
- Owner: Kijewski
- License: apache-2.0
- Created: 2022-02-21T12:08:33.000Z (almost 3 years ago)
- Default Branch: v0.7.x
- Last Pushed: 2024-09-30T08:41:38.000Z (3 months ago)
- Last Synced: 2024-10-14T14:10:36.681Z (2 months ago)
- Topics: iana-tzdb, rust, timezone, tz, tzdata
- Language: Rust
- Homepage: https://docs.rs/tzdb
- Size: 1.48 MB
- Stars: 42
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# tzdb — Time Zone Database
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/Kijewski/tzdb/ci.yml?branch=v0.7.x&style=flat-square&logo=github&logoColor=white "GitHub Workflow Status")](https://github.com/Kijewski/tzdb/actions/workflows/ci.yml)
[![Crates.io](https://img.shields.io/crates/v/tzdb?logo=rust&style=flat-square "Crates.io")](https://crates.io/crates/tzdb)
[![docs.rs](https://img.shields.io/docsrs/tzdb?logo=docsdotrs&style=flat-square&logoColor=white "docs.rs")](https://docs.rs/tzdb/)
![Minimum supported Rust version](https://img.shields.io/badge/rustc-1.81+-important?logo=rust&style=flat-square "Minimum Supported Rust Version: 1.81")
[![License: Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-informational?logo=apache&style=flat-square)](https://github.com/Kijewski/tzdb/blob/v0.6.1/LICENSE.md "License: Apache-2.0")Static time zone information for [tz-rs](https://crates.io/crates/tz-rs).
This crate provides all time zones found in the [Time Zone Database](https://www.iana.org/time-zones).
## Usage examples
```rust
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