An Elixir library providing the IANA timezone database with automatic updates and integration with Elixir's standard library.
Tzdata is an Elixir library that packages the IANA timezone database, enabling accurate timezone calculations and conversions within Elixir applications. It serves as a drop-in timezone database for Elixir's DateTime module, ensuring applications handle timezones correctly with minimal configuration.
Elixir developers building applications that require accurate timezone handling, such as those dealing with scheduling, internationalization, or datetime calculations across different regions.
Developers choose Tzdata for its seamless integration with Elixir's standard library, automatic updates from IANA, and SSL-secured data fetching, eliminating manual timezone data management.
tzdata for Elixir. Born from the Calendar library.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Polls IANA servers daily to download and apply new timezone data releases automatically, ensuring applications always use the latest rules without manual intervention, as mentioned in the README's automatic updates section.
Configurable as Elixir's global timezone database, allowing direct use with standard library functions like `DateTime.now/2` for effortless timezone calculations, as shown in the getting started example.
Uses Hackney for HTTPS requests to IANA with SSL certificate verification, protecting against man-in-the-middle attacks during updates, explicitly noted in the Hackney dependency and security section.
Supports configurable data directories, such as custom paths for deployments and releases, making it adaptable to various environments, as detailed in the data directory and releases section.
Relies on Hackney for SSL-secured HTTP requests, adding an extra dependency that might increase project complexity or cause conflicts with other libraries, as acknowledged in the README's security notes.
Updates are polled daily, so there can be up to a 24-hour lag before new IANA releases are applied, which may not be acceptable for time-sensitive applications requiring instant updates.
When using Elixir releases, configuring the data directory and ensuring correct .ets files are present requires additional setup steps, which can be error-prone and adds deployment complexity, as described in the data directory section.