5.2 Convert String to Date


The lubridate (Spinu, Grolemund, and Wickham 2023) package is the go to package for converting strings that represent a date into the date and time formats for computing with dates. A number of support functions are provided to perform the conversions quickly, including lubridate::ymd()

dt <- ymd("20220108")

Let’s have a look at the value:

## [1] "2022-01-08"

Often we will want to do this in wrangling a dataset as part of a dplyr::mutate() operation:

"summary.csv" %>%
  read_csv(show_col_types=FALSE) %>%
  mutate(date=ymd(date)) %>%

The generic operation to convert a string to a date, where the string might be in the format 20220204_121556 (that is year, month, day, then hour, minute seconds) is lubridate::parse_date_time():

ds %>%

Notice we’ve also included a time zone for the supplied timestamp with the tz= parameter.


Spinu, Vitalie, Garrett Grolemund, and Hadley Wickham. 2023. Lubridate: Make Dealing with Dates a Little Easier. https://CRAN.R-project.org/package=lubridate.

Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0