You can use parse_date_time
from lubridate
:
some.dates <- c("23/11/12", "20/10/2012", "22/10/2012" ,"23/11/12")
parse_date_time(some.dates,c('dmy'))
[1] "2012-11-23 UTC" "2012-10-20 UTC" "2012-10-22 UTC" "2012-11-23 UTC"
But , Note that the order of format is important :
some.dates <- c("20/10/2012","23/11/12", "22/10/2012" ,"23/11/12")
parse_date_time(some.dates,c('dmY','dmy'))
[1] "2012-10-20 UTC" "2012-11-23 UTC" "2012-10-22 UTC" "2012-11-23 UTC"
EDIT
Internally parse_date_time
is using guess_formats
(which I guess uses some regular expressions):
guess_formats(some.dates,c('dmy'))
dmy dmy dmy dmy
"%d/%m/%Y" "%d/%m/%y" "%d/%m/%Y" "%d/%m/%y"
As mentioned in the comment you can use parse_date_time
like this:
as.Date(dates, format = guess_formats(dates,c('dmy')))