Short answer: as.POSIXct(0, origin = ISOdatetime(1970,1,1,10,0,0, tz = "GMT"))
Long answer -- as.POSIXct goes through a somewhat crazy chain of method dispatch to work, and only sometimes cares about the tz argument. For your case as.POSIXct(x) -- calls --> as.POSIXct.numeric(x) -- calls --> as.POSIXct(origin) -- calls --> as.POSIXct.default which keeps the time zone of the inputted argument. (And that's a relatively easy one!) In none of these is the tz used because it already has a tz by way of origin which gets the default from ISOdatetime unless otherwise specified. (I think, but I'm usually wrong about these things) Best, Michael On Thu, Jul 19, 2012 at 3:31 PM, Jack Tanner <i...@hotmail.com> wrote: > The following three calls all produce the same result (my machine is in EST): > >> as.POSIXct(0, tz="", origin=ISOdatetime(1970,1,1,10,0,0)) > [1] "1970-01-01 10:00:00 EST" >> as.POSIXct(0, tz="EST", origin=ISOdatetime(1970,1,1,10,0,0)) > [1] "1970-01-01 10:00:00 EST" >> as.POSIXct(0, tz="GMT", origin=ISOdatetime(1970,1,1,10,0,0)) > [1] "1970-01-01 10:00:00 EST" > > EST is -5:00 GMT. Is it a bug that the third call above does not produce > > [1] "1970-01-01 5:00:00 EST" > > ? > > (Under R 2.15.1, Windows 64-bit) > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.