R在包含两种日期格式的一列中更改日期格式

Abd*_*ash 2 r

我有一个带有"日期"列的CSV文件,但它包含两种不同的日期格式,如下所示

7/12/2015 15:28 as m/d/yyyy hh:mm
18-04-2016 18:20  as d/m/yyyy hh:mm
Run Code Online (Sandbox Code Playgroud)

如何将格式更改为m/d/yyyy hh:mm,那么我可以相互减去日期吗?

the*_*ail 8

如果您只有两种日期时间格式,则不需要外部包.只需通过解析器运行两种格式并获取不丢失的格式:

x <- c("7/12/2015 15:28","18-04-2016 18:20")
pmax(
  as.POSIXct(x, format="%m/%d/%Y %H:%M", tz="UTC"),
  as.POSIXct(x, format="%d-%m-%Y %H:%M", tz="UTC"),
  na.rm=TRUE
)
#[1] "2015-07-12 15:28:00 UTC" "2016-04-18 18:20:00 UTC"
Run Code Online (Sandbox Code Playgroud)

据我所知,绝对没有办法自动处理模糊日期格式,因此硬编码可能就是这里的方法.