我想知道可以使用什么lubridate
函数将这些字符串转换为日期格式。
在上面的字符串中使用as_date
会发出警告:
警告信息: 所有格式均无法解析。找不到格式
但是,我可以使用as_datetime
函数将字符串转换为:“ 2020 Apr 10 11:22:23”。
答案 0 :(得分:3)
对于lubridate
,重要的只是日,月,年的顺序。如果我们有多种格式,请使用parse_date_time
library(lubridate)
parse_date_time(date1, orders = c('dmy', 'mdy'))
[1] "2020-04-21 UTC" "2020-04-21 UTC"
date1 <- c("21 Apr 2020", "April 21, 2020")
答案 1 :(得分:3)
这不是{lubridate
,但是:如果您事先不知道顺序(dmy vs mdy vs ymd),或者可以将其混合在单个矢量中,则可以尝试{{ 1}}程序包:
anytime
(显然anytime::anydate(c("21 Apr 2020","April 21, 2020"))
## [1] "2020-04-21" "2020-04-21"
也可以处理混合格式:似乎可以稍微检查一下要检查的格式。)
答案 2 :(得分:1)
就是这么简单。谢谢大家:)
library(lubridate)
a <- "21 Apr 2020"
day1 <- dmy(a)
b <- "April 21, 2020"
day2 <- mdy(b)