R时区GMT和CET转换unix时间戳

时间:2018-06-14 09:45:53

标签: r

我从基于GMT的数据库获得了一个unix时间戳,我希望将其转换为日期时间格式。我在德国使用R. 基于GMT的数据库的Unix时间戳:1525732148

我将其转换为:

install.packages("anytime")
library(anytime)
anytime(as.numeric(as.character(1525732148)))

为什么我得到相同的日期时间,独立于系统日期?

anytime(as.numeric(as.character(1525732148, tz="GMT")))
anytime(as.numeric(as.character(1525732148, tz="CET")))

两人都给我结果:“2018-05-07 22:29:08 UTC”

由于时区不同,我预计会有不同的结果。

1 个答案:

答案 0 :(得分:2)

问题如下:

> as.character(1525732148, tz="GMT")
[1] "1525732148"

这是anytime作为输入的内容。 tz参数应该传递给anytime,而不是as.character,它会在没有任何警告的情况下吞下它无法识别的任何其他参数。试试anytime(1525732148, tz="GMT")

> anytime::anytime(1525732148, tz="GMT")
[1] "2018-05-07 22:29:08 GMT"
> anytime::anytime(1525732148, tz="CET")
[1] "2018-05-08 00:29:08 CEST"

请参阅:anytime