将 chron 转换为 GMT 格式的 POSIXct

Convert chron to POSIXct in GMT format

通常,我使用 chron 来表示 date/time 个对象。但是,我需要使用一些适用于 POSIX 格式的函数,因此我试图从 chron 转到 POSIXct。使用 as.POSIXct() 似乎可行,但结果是本地时间而不是格林威治标准时间(原始数据是格林威治标准时间)。

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 会话使用带有 Sys.timezone() 的 GMT,但我不想这样做。还有其他建议吗?谢谢。

试一试:

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"