【发布时间】:2017-01-16 21:53:42
【问题描述】:
我需要以“1:36:22 PM”之类的字符格式解析时间。
我尝试了as.POSIXct 和strptime 的各种排列,但就是无法到达那里。例如,这未能体现 PM 的重要性:
t <- "1:36:22 PM"
as.POSIXct(t, format = "%H:%M:%S")
# [1] "2016-09-08 01:36:22 BST"
这失败了:
strptime(t, "%H:%M:%S")
# [1] NA
奇怪的是,出于我无法理解的原因,从输入中删除秒数可能会起作用:
t <- "1:30:00 PM"
strptime(t, "%I:%M %p")
# [1] NA
t <- "1:30 PM"
strptime(t, "%I:%M %p")
# [1] "2016-09-08 13:30:00 BST"
我想要的只是让它工作:
t <- "1:30:00 PM"
SOME COMMAND HERE HERE
# [1] "13:30:00"
有什么想法吗?
【问题讨论】:
-
format(strptime(t, "%I:%M:%S %p"), "%H:%M:%S") -
hms::as.hms(lubridate::parse_date_time("1:30:00 PM", "IMS p"))