我正在对均匀分布的时间序列进行绘图和计算。时间戳当前存储为整数,表示自 UNIX 纪元以来的秒数(例如1352068320
),但Date
对象似乎更适合绘图。我该如何进行转换?
我已阅读?Date
,?as.Date
和??epoch
,但似乎错过了该信息。
通过POSIXct
,你想在TZ
那里设置 - 在这里你看到我的(芝加哥)默认值:
R> val <- 1352068320
R> as.POSIXct(val, origin="1970-01-01")
[1] "2012-11-04 22:32:00 CST"
R> as.Date(as.POSIXct(val, origin="1970-01-01"))
[1] "2012-11-05"
R>
编辑:几年后,我们现在可以使用任何时间包:
R> library(anytime)
R> anytime(1352068320)
[1] "2012-11-04 16:32:00 CST"
R> anydate(1352068320)
[1] "2012-11-04"
R>
请注意所有这些在没有任何格式或来源参数的情况下是如何工作的。
使用library(lubridate)
,保存为自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数的日期和时间的数字表示可以通过 强制转换为日期as_datetime()
:
lubridate::as_datetime(1352068320)
[1] "2012-11-04 22:32:00 UTC"