Skip to content
Back to formatted view

Raw Message

Message-ID: <24227.35856.851303.689831@rob.eddelbuettel.com>
Date: 2020-04-25T01:02:08Z
From: Dirk Eddelbuettel
Subject: Timezone conversion on Ubuntu 20.04
In-Reply-To: <e7403960-2773-1279-ab8d-b13bb82311fa@comcast.net>

On 24 April 2020 at 17:46, David Winsemius wrote:
| On 4/24/20 4:02 PM, Jeroen Ooms wrote:
| > I am testing R 4.0 and ran into an issue with timezones on Ubuntu
| > Focal: converting a timestamp to another timezone results in NA:
| >
| >    as.POSIXct(as.POSIXlt(Sys.time(), tz = "CET"), tz = "EST")
| >
| > This only happens on Ubuntu Focal, it seems to work fine on Ubuntu
| > Bionic. I am the standard ubuntu docker image icw/ r-base from Dirk's
| > ppa:edd/r-4.0 on both systems.
| >
| > Am I missing a system dependency for tzone data?

Maybe. What does `dpkg -s tzdata` say? Installed?  Or not?

The base images are pretty narrow and may simply not have it installed.
 
| I don't really know but I do know that "EST" is often not a specific 
| valid value. It is used by both the USA and Australia. More valid 
| designation would probably be "America/New_York"
| 
| The vector of valid names is returned by:
| 
| OlsonNames(tzdir = NULL)

Excellent point by David.

Also, there are _two_ issues here:

 - Does the machine itself have timezone information, ie can you access with
   anything other than R?  You hinted at that with question about 'tzdata'

 - If it does, did R regress?  At some point years ago R was less clever
   about finding tz info when the /etc/ softlink was not set. I coded up one
   smarter heuristic in CRAN package 'gettz'; later R itself carried some of
   that same logic. This obviously needs the system info from the previous
   question.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org