R/convert_to_date.R
convert_to_date.Rd
Convert many date and datetime formats as may be received from Microsoft Excel
convert_to_date( x, ..., character_fun = lubridate::ymd, string_conversion_failure = c("error", "warning") ) convert_to_datetime( x, ..., tz = "UTC", character_fun = lubridate::ymd_hms, string_conversion_failure = c("error", "warning") )
x | The object to convert |
---|---|
... | Passed to further methods. Eventually may be passed to `excel_numeric_to_date()`, `base::as.POXIXct()`, or `base::as.Date()`. |
character_fun | A function to convert non-numeric-looking, non-NA values in `x` to POSIXct objects. |
string_conversion_failure | If a character value fails to parse into the desired class and instead returns `NA`, should the function return the result with a warning or throw an error? |
tz | The timezone for POSIXct output, unless an object is POSIXt already. Ignored for Date output. |
POSIXct objects for `convert_to_datetime()` or Date objects for `convert_to_date()`.
Character conversion checks if it matches something that looks like a Microsoft Excel numeric date, converts those to numeric, and then runs convert_to_datetime_helper() on those numbers. Then, character to Date or POSIXct conversion occurs via `character_fun(x, ...)` or `character_fun(x, tz=tz, ...)`, respectively.
convert_to_datetime
: Convert to a date-time (POSIXct)
Other Date-time cleaning:
excel_numeric_to_date()
convert_to_date("2009-07-06")#> [1] "2009-07-06"convert_to_date(40000)#> [1] "2009-07-06"convert_to_date("40000.1")#> [1] "2009-07-06"#> [1] "2020-02-29" "2009-07-06"convert_to_datetime( c("2009-07-06", "40000.1", "40000", NA), character_fun=lubridate::ymd_h, truncated=1, tz="UTC" )#> [1] "2009-07-06 00:00:00 UTC" "2009-07-06 02:24:00 UTC" #> [3] "2009-07-06 00:00:00 UTC" NA