8

我正在尝试将此时间戳转换为 POSIXct

t1 <- c("19-Jun-13 06.00.00.00 PM")

如果我这样做:

t1 <- as.POSIXct(t1, format="%d-%b-%y %H:%M:%S")

这会转换这个时间戳吗?这是否考虑到最后的上午/下午?

4

2 回答 2

11

Read ?strptime. %p, which only works with %I, not %H. Your time format is also incorrect. Your times are separated by ".", not ":".

as.POSIXct("19-Jun-13 06.00.00.00 PM", format="%d-%b-%y %I.%M.%OS %p")
于 2013-06-21T16:52:24.393 回答
0

我不明白为什么 strptime不能正确识别%p格式。但是,dmy_hms包中的功能lubridate运行良好。

lubridate::dmy_hms("19-Jun-13 06.00.00.00 PM")创建以下结果:

[1] "2013-06-19 18:00:00 UTC"

如果你愿意,你可以“重新格式化”,比如 Ymd H:M:

as.POSIXct(dmy_hms("19-Jun-13 06.00.00.00 PM"), format="%Y-%m-%d %H:%M") [1] "2013-06-19 18:00:00 UTC"

于 2017-10-19T15:31:48.567 回答