从GMT转换为EST

时间:2017-11-10 13:37:26

标签: r

有没有什么有效的方法,如何在R?中将GMT转换为EST?

这就是我的尝试:

d1 <- as.POSIXlt(as.POSIXct("2001-05-15 12:30:00"), tz="GMT")
[1] "2001-05-15 10:30:00 GMT"
as.POSIXct(as.character(d1),tz="EST")
[1] "2001-05-15 10:30:00 EST"

到目前为止,我还没有搜索任何有用的东西。非常感谢您提出的任何建议。

2 个答案:

答案 0 :(得分:2)

实际上,从深层意义上说,没有“转换”。 POSIXct个对象始终存储为自纪元(1970年1月1日午夜UTC)以来的秒数。

你所追求的转换是“肤浅的”,因为所有你正在改变的是你的对象的显示方式。

这由tzone对象的POSIXct属性控制。

因此,假设attr(x, 'tzone')已经是对象x的GMT,那么您可以写一下:

attr(x, 'tzone') = 'EST'

以你想要的方式改变这种表面行为。

答案 1 :(得分:0)

希望这有帮助!

d1 <- as.POSIXct("2001-05-15 12:30:00", format='%Y-%m-%d %H:%M:%S', tz="GMT")
format(d1,tz="America/New_York")