Learn R Programming

RcppBDT (version 0.2.6)

toPOSIXct: Parse POSIXct objects from input data

Description

This function uses the Boost Date_Time library to parse datetimes (and dates) from strings, integers or even numeric values (which are cast to strings internall). It returns a vector of POSIXct objects. These represent dates and time as (possibly fractional) seconds since the ‘epoch’ of January 1, 1970. A timezone can be set, if none is supplied ‘UTC’ is set.

Usage

toPOSIXct(x, tz = "UTC")

Value

A vector of ‘POSIXct’ elements.

Arguments

x

A vector of type character, integer or numeric with date(time) expressions to be parsed and converted.

tz

A string with the timezone, defaults to ‘UTC’ if unset

Author

Dirk Eddelbuettel

Details

A number of fixed formats are tried in succession. These include the standard ISO format ‘YYYY-MM-DD HH:MM:SS’ as well as different local variants including several forms popular in the United States. Two-digits years and clearly ambigous formats such as ‘03/04/05’ are ignored. In the case of parsing failure a NA value is returned.

Fractional seconds are supported as well. As R itself only supports microseconds, the Boost compile-time option for nano-second resolution has not been enabled.

See Also

The funtion in the anytime package which is a more finished. variant which is based on the initial work with function, and taken into its own package.

Examples

Run this code
## See the source code (hah!) for a full list of formats
times <- c("2004-03-21 12:45:33.123456",
          "2004/03/21 12:45:33.123456",
          "20040321 124533.123456",
          "21.03.2004 12:45:33.123456", 
          "03/21/2004 12:45:33.123456",
          "03-21-2004 12:45:33.123456", 
          "2004-03-21",
          "20040321",
          "03/21/2004",
          "03-21-2004",
          "20010101")   
toPOSIXct(times)

Run the code above in your browser using DataLab