将时间戳(以秒为单位)转换为R中的日期格式

时间:2017-10-04 11:43:25

标签: r date timestamp strptime

我有一个表(标签),其中包含一个时间戳(ts)列,自格林威治标准时间1970年1月1日起格式化为秒。我正在尝试创建一个日期列,将时间戳从秒转换为日期和时间EST。

R的建议代码是:

tags$date<-strptime(tags$ts, "%Y-%m-%d")
tags$date<-as.POSIXct(tags$date)

但是当我这样做时,tags$date出现了NA。对于我可能做错的任何建议?感谢。

2 个答案:

答案 0 :(得分:4)

你应该让我们as.POSIXct代替:

tags$date <- as.POSIXct(tags$ts, origin="1970-01-01", tz="US/New York")

strptime在字符表示和日期之间转换,而不是在时间戳和日期之间。

答案 1 :(得分:1)

这是lubridate版本。当我们使用as_datetime时,我们不需要明确指定原点,因为它默认为所需的原点。

lubridate::as_datetime(1507119276, tz='EST')
# [1] "2017-10-04 07:14:36 EST"