我认为我可能不理解POSIXct的工作原理,或者其他方面出了问题。据我所知,它是自纪元以来的秒数,其中纪元是标准时间,如1970-01-01 GMT。
我获取了两个POSIXct时间,一个在EST时区,一个在PST时区,它们表示相同的绝对时间。然而,当我将它们转换为数字值时,结果却不同... 有人能指出我做错了什么吗?
> pst = as.POSIXct('2011-01-10 06:45:00', tz = 'PST')
> est = as.POSIXct('2011-01-10 09:45:00', tz = 'EST')
> as.numeric(pst)
[1] 1294641900
> as.numeric(est)
[1] 1294670700
这是我的会话信息:
> sessionInfo()
R version 2.13.0 (2011-04-13)
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 LC_COLLATE=en_US.UTF-8 LC_MONETARY=C LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C\
LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] grid stats graphics grDevices utils datasets methods base
other attached packages:
[1] RSQLite_0.9-4 snow_0.3-8 RMySQL_0.8-0 DBI_0.2-5 gtools_2.6.2 reshape2_1.1 ggplot2_0.8.9 proto_0.3-9.2 reshape_0.8.4 fTrading_2100.76 fBasics_\
2110.79 MASS_7.3-12
[13] timeSeries_2130.92 timeDate_2131.00 plyr_1.7.1
loaded via a namespace (and not attached):
[1] stringr_0.4 tools_2.13.0
Sys.setenv(TZ='GMT')
来完成这个步骤。 - Andy Clifton