Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Elixir
  3. tzdata

tzdata

MITElixir

An Elixir library providing the IANA timezone database with automatic updates and integration with Elixir's standard library.

GitHubGitHub
325 stars114 forks0 contributors

What is tzdata?

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.

Target Audience

Elixir developers building applications that require accurate timezone handling, such as those dealing with scheduling, internationalization, or datetime calculations across different regions.

Value Proposition

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.

Overview

tzdata for Elixir. Born from the Calendar library.

Use Cases

Best For

  • Configuring Elixir's global timezone database for use with standard library functions like DateTime.now/2.
  • Automatically updating timezone data in Elixir applications without manual intervention.
  • Deploying Elixir applications with releases that require custom data directories for timezone storage.
  • Ensuring SSL-secured downloads of IANA timezone updates to maintain security.
  • Maintaining backward compatibility with older Elixir versions or manual timezone data management.
  • Handling timezone calculations in applications where IANA data changes frequently, such as due to daylight saving time updates.

Not Ideal For

  • Systems with strict offline requirements that cannot tolerate any network calls for updates
  • Applications needing real-time, immediate updates to timezone data without any polling delay
  • Projects using custom or non-IANA timezone sources that require flexible rule management

Pros & Cons

Pros

Automatic Daily Updates

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.

Seamless Elixir Integration

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.

SSL-Secured Data Fetching

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.

Flexible Data Storage

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.

Cons

External Dependency on Hackney

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.

Polling Delay in Updates

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.

Manual Configuration for Releases

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.

Frequently Asked Questions

Quick Stats

Stars325
Forks114
Contributors0
Open Issues22
Last commit17 hours ago
CreatedSince 2015

Tags

#elixir#library#datetime#timezone#self-hosted-data#automated-updates#hackney

Built With

E
ETS
E
Elixir
H
Hackney

Included in

Elixir13.1k
Auto-fetched 10 hours ago

Related Projects

quantumquantum

:watch: Cron-like job scheduler for Elixir

Stars2,416
Forks153
Last commit6 days ago
timextimex

A complete date/time library for Elixir projects.

Stars1,806
Forks407
Last commit1 year ago
calendarcalendar

date-time and time zone handling in Elixir

Stars469
Forks33
Last commit2 years ago
cocktailcocktail

Elixir date recurrence library based on iCalendar events

Stars230
Forks33
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub