简体   繁体   中英

Converting written to numeric dates in R

What's the most elegant way to convert these example dates to numeric dates:

dates <- c("April 1, 2017", "June 27, 2017", "September 24, 2017")

I would like this as a result:

"01-04-2017", "27-06-2017", "24-09-2017" 

Using base

as.Date(dates, format = "%B %d, %Y")
[1] "2017-04-01" "2017-06-27" "2017-09-24"

and then formatted

format(as.Date(dates, format = "%B %d, %Y"), "%d-%m-%Y")
[1] "01-04-2017" "27-06-2017" "24-09-2017"

You could use mdy function of lubridate package to parse dates. Then use format to convert it to desired form.

library(lubridate)
format(mdy(dates), "%d-%m-%Y")
#[1] "01-04-2017" "27-06-2017" "24-09-2017"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM