Is there any way to convert below string to a standard R date class object?
Date_String = \"19th January 2020\"
Any pointer appreciated.
Date_String <- "19th January 2020"
# Using BASE R
Date_String <- sub("st|nd|rd|th", "", Date_String)
as.Date(Date_String, format = "%d %B %Y")
#> [1] "2020-01-19"
# Using Lubridate package
lubridate::dmy(Date_String)
#> [1] "2020-01-19"
In base R:
# Make sure your locale is English
Sys.getlocale() # can update with Sys.setlocale(LC_TIME = 'en_US.UTF-8')
# Remove "th", more generally the first sequence of lower-case letters
Date_String <- sub("[a-z]+", "", Date_String)
# Now specify the format for as.Date()
as.Date(Date_String, format = "%d %B %Y")
[1] "2020-01-19"
Lubridate can handle it:
> Date_String <- "19th January 2020"
> lubridate::dmy(Date_String)
[1] "2020-01-19"