将带有AM / PM的字符串转换为24小时日期格式

时间:2017-10-19 21:50:29

标签: r lubridate posixct

我一直在尝试将AM / PM格式的字符串转换为24小时日期对象。 ' strtime`转换为24小时格式,通过在输出上不断添加今天的日期。问题是我只需要时间,例如' 13' 非常感谢你提前!

am_pm <- c("8:00 am","3:30 PM",  "10:00 AM", "8:00 AM",  "9:00 PM",  "9:00 
AM")
strptime(am_pm, "%I:%M %p")


[1] "2017-10-19 08:00:00 UTC" "2017-10-19 15:30:00 UTC" "2017-10-19 10:00:00 
UTC" "2017-10-19 08:00:00 UTC"
[5] "2017-10-19 21:00:00 UTC" "2017-10-19 09:00:00 UTC"

1 个答案:

答案 0 :(得分:0)

您将需要为此添加一个额外的步骤。使用lubridate软件包中的as.ITime()函数。

am_pm <- c("8:00 am","3:30 PM",  "10:00 AM", "8:00 AM",  "9:00 PM",  "9:00 AM")
mytime <- strptime(am_pm, "%I:%M %p")

as.ITime(mytime)

“ 08:00:00”“ 15:30:00”“ 10:00:00”“ 08:00:00”“ 21:00:00”“ 09:00:00” from the docs