将chron转换为GMT格式的POSIXct

时间:2015-10-21 11:57:08

标签: r posixct chron

通常,我使用chron来表示日期/时间对象。但是,我需要使用一些与POSIX格式一起使用的函数,所以我试图从chron转到POSIXct。使用as.POSIXct()似乎可以工作,但结果是在本地时间而不是GMT(原始数据在GMT中)。

x <- chron(dates="05/12/15", times="12:30:45")
as.POSIXct(x, tz="GMT")
"2015-05-12 13:30:45 BST"

我想要的是:

"2015-05-12 12:30:45 GMT"

但我无法找到获得它的方法。

strptime()不起作用,因为原始输入不是字符串,而是chron对象。当然,我可以从一个chron对象转到一个字符串然后转到POSIXct,但这似乎有点令人费解。

我想我可以强制我的R会话使用GMT和Sys.timezone(),但我不愿意。还有其他建议吗?谢谢。

1 个答案:

答案 0 :(得分:5)

试试吧:

x <- chron(dates="05/12/15", times="12:30:45")
y<-as.POSIXct(x)
attr(y,"tzone")<-"GMT"
y
#[1] "2015-05-12 12:30:45 GMT"