如何将以下格式"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")
但它似乎没有效果。
答案 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以来的秒数),它只会更改显示的内容。