在R的24:00 AM日期时间解析

问题描述 投票:1回答:1

我有一些非常规日期格式的午夜数据。在原始数据中,午夜被视为"1/1/2018 24:00 AM"而不是"1/2/2018 00:00 AM"。为什么有人会这样做?!

我想将这个字符向量转换为POSIXct()格式。

以下是一些示例数据:

datetime <- c("1/1/2018 11:00 PM", "1/1/2018 24:00 AM", "1/2/2018 01:00 AM")

以下代码无法解析午夜,但做了我想要的事情:

as.POSIXct(datetime, format = "%m/%d/%Y %I:%M %p")

这将返回以下内容:

[1] "2018-01-01 23:00:00 GMT" NA                        "2018-01-02 01:00:00 GMT"
r datetime lubridate posixct
1个回答
2
投票

另一种方法是使用lubridate::mdy_hm,它在第二天正确解析24:00 AM00:00 AM

library(lubridate)
mdy_hm(datetime)
#[1] "2018-01-01 23:00:00 UTC" "2018-01-02 00:00:00 UTC"
#[3] "2018-01-02 01:00:00 UTC"
© www.soinside.com 2019 - 2024. All rights reserved.