使用'POSIXct'对象转换ISO 8601日期/时间时出错

jon*_*han 3 r

有些事情我不明白.我只是尝试转换其他时区的日期.日期采用8601-ISO格式.我跟着这个.

pb.txt <- "2012-09-11T21:23:20Z"
pb.date <- as.POSIXct(pb.txt, tz="UTC")
format(pb.date, tz="WEST",usetz=TRUE)
[1] "2012-09-11 WEST"
Run Code Online (Sandbox Code Playgroud)

为什么只显示日期而不再是时间戳?我也尝试过:

pb.date <- as.POSIXct(pb.txt, origin=ISOdatetime(2012,09,11,21,23,20))
format(pb.date, tz="WEST",usetz=TRUE)
[1] "2012-09-10 22:00:00 WEST
Run Code Online (Sandbox Code Playgroud)

它更好,但时间戳是四舍五入的.如何完美转换8601-ISO日期时间?

Jos*_*ich 9

使用正确的格式:

as.POSIXct(pb.txt, "%Y-%m-%dT%H:%M:%S", tz="UTC")
[1] "2012-09-11 21:23:20 UTC"
Run Code Online (Sandbox Code Playgroud)