1

通常,我使用 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() 一起使用,但我不想这样做。还有什么建议吗?谢谢你。

4

1 回答 1

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"
于 2015-10-21T12:16:15.983 回答