Many date and time conversion need information about the local
timezone. It is common to set the environment variable TZ
.
However, sometimes it is unset, and we need a fallback. Or maybe we just
want a fallback to not always have to set the TZ
variable
by hand.
R has a helper function Sys.timezone()
which queries the
system timezone information. Sadly, we have seen it fail (possibly
because /etc/localtime
was not a symbolic link as it
expected, but rather a copy of the corresponding (local) timezone
metadata). Another issue is, once again, that the code which R uses here
is sadly not accessible to users via a callable API for C or
C++. So there is a need for something different—and Duane McCully
provided just that in this StackOverflow
answer. This package essentially adapted his code to be callable
from R.
Works on Linux, expected to also work on Solaris and BSD, builds on
OS X and Windows but only returns NULL
due to the apparent
lack of any programmatic interface.
Windows could possibly be supported better by querying the registry. Contributions / pull requests would be welcomed on this.
The package is now on CRAN and can be installed via a standard
install.packages("gettz")
command.
Dirk Eddelbuettel
GPL (>= 2)