convert_to_date: Parse dates from many formats

View source: R/convert_to_date.R

convert_to_dateR Documentation

Parse dates from many formats

Description

Convert many date and date-time (POSIXct) formats as may be received from Microsoft Excel.

Usage

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")
)

Arguments

x

The object to convert

...

Passed to further methods. Eventually may be passed to excel_numeric_to_date(), base::as.POSIXct(), 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.

Details

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.

Value

POSIXct objects for convert_to_datetime() or Date objects for convert_to_date().

See Also

Other date-time cleaning: excel_numeric_to_date(), excel_time_to_numeric(), sas_numeric_to_date()

Examples

convert_to_date("2009-07-06")
convert_to_date(40000)
convert_to_date("40000.1")
# Mixed date source data can be provided.
convert_to_date(c("2020-02-29", "40000.1"))
convert_to_datetime(
  c("2009-07-06", "40000.1", "40000", NA),
  character_fun = lubridate::ymd_h, truncated = 1, tz = "UTC"
)

sfirke/janitor documentation built on Feb. 6, 2024, 12:37 p.m.