如何将以下格式"12/31/2014 6:42:52 PM"的本地DateTime转换为R中的UTC?我试过了
as.POSIXct(as.Date("12/31/2014 6:42:52 PM", format="%m/%d/%Y %H:%M:%S"),tz="UTC")
但这似乎无效。

最佳答案

如果要将日期时间从当前时区更改为UTC,则需要
导入您本地的时区,然后将显示时区更改为“UTC”。例如:在澳大利亚的EST中,我是UTC + 10。

out <- as.POSIXct("12/31/2014 6:42:52 PM", format="%m/%d/%Y %H:%M:%S")
out
#"2014-12-31 06:42:52 EST"
#(Australian Eastern Standard Time)
as.numeric(out)
#[1] 1419972172

现在,出于显示目的更改时区:
attr(out, "tzone") <- "UTC"
out
#[1] "2014-12-30 20:42:52 UTC"
# display goes 10 hours backwards as I'm UTC+10
as.numeric(out)
#[1] 1419972172

请注意,这不会影响基础的数值数据(自1970-01-01起的秒数),它只会更改显示的内容。

10-07 19:16
查看更多