为了账号安全,请及时绑定邮箱和手机立即绑定

将UNIX时代转换为Date对象

/ 猿问

将UNIX时代转换为Date对象

墨色风雨 2019-11-26 10:48:10

我正在绘制并在均匀分布的时间序列上执行计算。当前,时间戳记存储为整数,表示自UNIX纪元以来的秒数(例如1352068320),但是Date对象似乎更适合绘制。我如何进行转换?

我读过?Date?as.Date??epoch,但似乎已经错过了的信息。


查看完整描述

3 回答

?
撒科打诨

通过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> 

请注意,这在没有任何格式或原始参数的情况下如何工作。


查看完整回答
反对 2019-11-26
?
慕粉4167745

在lubridate库中,日期和时间保存为自1970-01-01 00:00:00 UTC以来的秒数。所以你可以做


    library(lubridate)

    as_datetime(1352068320)

[1] "2012-11-04 22:32:00 UTC"


查看完整回答
反对 2019-11-26
?
函数式编程

尝试将其除以1000:as.POSIXct(1415560016876/1000, origin="1970-01-01")得到“ 2014-11-09 13:06:56.875 CST”,您需要确保期望的秒数(与R一样)还是毫秒

查看完整回答
反对 2019-11-26
  • 3 回答
  • 0 关注
  • 187 浏览

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信