将字符串“12/27/2020 00:00:00”变成日期?

时间:2020-12-20 19:02:49

标签: r lubridate

字符串:"12/27/2020 00:00:00"

我希望将其格式化为日期。尝试过:

library(lubridate)
parse_date_time('12/27/2020 00:00:00', mdy)
Error in as.character(x) : 
  cannot coerce type 'closure' to vector of type 'character'

然后尝试:

mdy('12/27/2020 00:00:00')
[1] NA
Warning message:
All formats failed to parse. No formats found. 

然后尝试:

as_date('12/27/2020 00:00:00')
[1] NA
Warning message:
All formats failed to parse. No formats found. 

我怎样才能把这个字符串变成日期?

1 个答案:

答案 0 :(得分:1)

我们可以在 formatas.Date 中使用 base R as

as.Date(str1, "%m/%d/%Y")
#[1] "2020-12-27"

或者,如果我们需要 parse_date_time,请将 format 指定为字符串

parse_date_time('12/27/2020 00:00:00',  'mdy HMS')
#[1] "2020-12-27 UTC"

要转换为 Date 类,用 as.Dateas_date 包裹

as_date(parse_date_time('12/27/2020 00:00:00',  'mdy HMS'))
#[1] "2020-12-27"

mdy_hms('12/27/2020 00:00:00')
#[1] "2020-12-27 UTC"

使用 format 中的 tidyverse,它需要匹配完整格式。在这里,我们还有 Hour:Minute:Seconds,所以我们需要 _hms


或者可以使用 anydate

自动获取
library(anytime)
anydate('12/27/2020 00:00:00')
#[1] "2020-12-27"