tzdb is a developer focused R package with two purposes:

  • It ships an up-to-date copy of the IANA time zone database files.

  • It provides low-level access to the C++ library, date.

To use the C++ API supplied by tzdb:

  • Add tzdb to both Imports and LinkingTo.

  • Call tzdb::tzdb_initialize() from your .onLoad().

  • Access the date API through #include <tzdb/*.h> where * is replaced with the date header you want to use.

Note that while tzdb/tz.h declares many functions and types, most of their implementations are not present in the header file. This means that the functions in tzdb/tz.h are not safe to call from your R package. Instead, the most critical helpers have been exposed in a safe way in tzdb/tzdb.h. Use these instead.


You can install the released version of tzdb from CRAN with:

And the development version from GitHub with:

# install.packages("remotes")