A user here noticed the following difference between Linux and Windows versions of R-2.15.3 (and R-3.0.0, I think) when using times within a second of the end of 1969:
f <- function (sec = -1) { x1 <- as.POSIXct(c(2 * sec, sec, 0), origin = "1970-01-01", tz = "UTC") x2 <- as.POSIXlt(x1) x3 <- as.POSIXct(x2, origin = "1970-01-01", tz = "UTC") list(x1 = x1, x2 = x2, x3 = x3) } On Windows I get: > f(-1) $x1 [1] "1969-12-31 23:59:58 UTC" [2] "1969-12-31 23:59:59 UTC" [3] "1970-01-01 00:00:00 UTC" $x2 [1] "1969-12-31 23:59:58 UTC" [2] "1969-12-31 23:59:59 UTC" [3] "1970-01-01 00:00:00 UTC" $x3 [1] "1969-12-31 23:59:58 UTC" [2] "1969-12-31 23:59:59 UTC" [3] "1970-01-01 00:00:00 UTC" On Linux I get an NA in x3 for 1 second before 1970: > f(-1) $x1 [1] "1969-12-31 23:59:58 UTC" [2] "1969-12-31 23:59:59 UTC" [3] "1970-01-01 00:00:00 UTC" $x2 [1] "1969-12-31 23:59:58 UTC" [2] "1969-12-31 23:59:59 UTC" [3] "1970-01-01 00:00:00 UTC" $x3 [1] "1969-12-31 23:59:58 UTC" [2] NA [3] "1970-01-01 00:00:00 UTC" On Windows, sessionInfo() is R version 2.15.3 (2013-03-01) Platform: x86_64-w64-mingw32/x64 (64-bit) locale: [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 [3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C [5] LC_TIME=English_United States.1252 attached base packages: [1] stats graphics grDevices utils datasets methods base On Linux, sessionInfo() is > sessionInfo() R version 2.15.3 (2013-03-01) Platform: x86_64-unknown-linux-gnu (64-bit) locale: [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 [4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 [7] LC_PAPER=C LC_NAME=C LC_ADDRESS=C [10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C attached base packages: [1] stats graphics grDevices utils datasets methods base Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel