在R中将本地日期时间转换为UTC

时间:2015-04-16 23:30:19

标签: r datetime local utc

如何将以下格式"12/31/2014 6:42:52 PM"的本地日期时间转换为R中的UTC?我试过这个

as.POSIXct(as.Date("12/31/2014 6:42:52 PM", format="%m/%d/%Y %H:%M:%S"),tz="UTC")

但它似乎没有效果。

1 个答案:

答案 0 :(得分:16)

如果您想将日期时间从当前时区转换为UTC,则需要 在您当地的时区导入,然后将显示时区移至" UTC"。例如:在澳大利亚东部时间我是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以来的秒数),它只会更改显示的内容。

相关问题