Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

datetime

Parse ISO 8601 Date/Time Strings


Description

Extract date/time components from strings following one of the six formats specified in the NOTE-datetime ISO 8601 profile (https://www.w3.org/TR/NOTE-datetime).

Arguments

x

a character vector.

Details

For character strings in one of the formats in the profile, the corresponding date/time components are extracted, with seconds and decimal fractions of seconds combined. Other (malformed) strings are warned about.

The extracted components for each string are gathered into a named list with elements of the appropriate type (integer for year to min; double for sec; character for the time zone designator). The object returned is a (suitably classed) list of such named lists. This internal representation may change in future versions.

One can subscript such ISO 8601 date/time objects using [ and extract components using $ (where missing components will result in NAs), and convert them to the standard R date/time classes using as.Date(), as.POSIXct() and as.POSIXlt() (incomplete elements will convert to suitably missing elements). In addition, there are print() and as.data.frame() methods for such objects.

Value

An object inheriting from class "ISO_8601_datetime" with the extracted date/time components.

Examples

## Use the examples from <https://www.w3.org/TR/NOTE-datetime>, plus one
## in UTC.
x <- c("1997",
       "1997-07",
       "1997-07-16",
       "1997-07-16T19:20+01:00",
       "1997-07-16T19:20:30+01:00",
       "1997-07-16T19:20:30.45+01:00",
       "1997-07-16T19:20:30.45Z")
y <- parse_ISO_8601_datetime(x)
y
## Conversions: note that "incomplete" elements are converted to
## "missing".
as.Date(y)
as.POSIXlt(y)
## Subscripting and extracting components:
head(y, 3)
y$mon

NLP

Natural Language Processing Infrastructure

v0.2-1
GPL-3
Authors
Kurt Hornik [aut, cre] (<https://orcid.org/0000-0003-4198-9911>)
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.