首页 > 解决方案 > 如何解析这两种日期格式?

问题描述

格式化为的日期4/29/2016被正确解析,但格式化为的日期62420162042016被解析。

R是否认为某些没有斜线的日期首先是日期而不是月份?

我试过包括在内dmylubrdiate它仍然不起作用。

我试过看,Sys.getlocale("LC_TIME")它给了我"English_United States.1252"

demo$date <- as.character(demo$date)
demo <- demo %>%
      mutate(date = parse_date_time(date, "mdy"))

标签: rdatelubridate

解决方案


您可以使用 stringr 将日期全部转换为相同的格式。然后转换为数字并使用 lubridate 进行解析。

library(stringr)
library(lubridate)

dates <- c("6242016", "2042016", "4/29/2016")
dates <- str_remove_all(dates, "/")
dates <- as.numeric(dates)

lubridate::mdy(dates)

# [1] "2016-06-24" "2016-02-04" "2016-04-29"

推荐阅读