获取'parse_date_time'以识别一位数的分钟数

获取'parse_date_time'以识别一位数的分钟数,r,lubridate,R,Lubridate,对于lubridate的parse\u date\u time,我似乎找不到正确的选项来识别一个位数的分钟。这是我的用例 library(lubridate) parse_date_time(hm("18 10"), "HMS") #[1] "0000-01-01 18:10:00 UTC" parse_date_time(hm("18 09"), "HMS") #[1] NA #Warning message: #All formats failed to parse. No formats

对于
lubridate
parse\u date\u time
,我似乎找不到正确的选项来识别一个位数的分钟。这是我的用例

library(lubridate)
parse_date_time(hm("18 10"), "HMS")
#[1] "0000-01-01 18:10:00 UTC"
parse_date_time(hm("18 09"), "HMS")
#[1] NA
#Warning message:
#All formats failed to parse. No formats found.

更广泛地说,我试图按时间(去掉日期)进行绘图,因此如果有更好的方法,我很想知道。

下面的代码如何解决您更广泛的问题

dts = seq(as.POSIXct("2018-07-21"), as.POSIXct("2018-07-22") , by=60)
pr_dts = paste(sprintf("%.2d",hour(dts)),sprintf("%.2d",minute(dts)),sep=":")
head(pr_dts);

“parse_date_time允许用户指定多个格式顺序来处理异构的日期-时间字符表示。”这意味着该函数将查看这些顺序以找到一个可用于解析的格式。

另一种选择:
as.POSIXct(“18 09”,format=“%H%M”)
但不确定这是否是您要找的。谢谢,d.b.这很有效!那么orders参数是否只使用列表中的格式,直到找到一种有效的格式?我可以只使用“%H%M”格式吗?谢谢,MSW数据。我想我需要一种时间格式,而不仅仅是角色,以便正确地绘制它们,不是吗?
library(lubridate)
parse_date_time(x = "18 09", orders = c("HMS", "%H %M"))