Releases: trevorld/r-datetimeoffset
Release list
datetimeoffset 1.0.0
datetimeoffset 0.4.1
New features
format_iso8601()'smodeargument now supports"toml"for outputting datetimes
using the subset of ISO 8601 supported by TOML v1.0.0 (#60).
Bug fixes and minor improvements
as_datetimeoffset.character()can now parse ISO 8601 times without associated dates (#59).format()andformat_iso8601()can now format times without associated dates (#59).format_edtf()now truncates the number of subsecond digits according to
thesubsecond_digitsfield.- New
get_tz.Date()S3 method which returnsNA_character_for "Date" objects (#62). - Stops using functions deprecated in
{clock}v0.7.0.
datetimeoffset 0.3.1
datetimeoffset 0.2.1
New features
format_exiftool()formats datetime strings as expected by the command-line toolexiftool(#54).as_datetimeoffset.integer()andas_datetimeoffset.numeric()
coerce numeric values as the newdatetimeoffset()objectsyearfield (#53).
Bug fixes and minor improvements
-
format_iso8601()has new argumentmodewhich supports "normal" and "xmp".- XMP metadata datetimes are a strict subset of ISO 8601 datetimes
-
as_datetimeoffset.character()now parses pdfmark datetimes of the formD:YYYYmmddHHMMSSZ00'00'(#56) -
Skip a test on CRAN which was failing on
r-oldrel-windows-ix86+x86_64(#52)
datetimeoffset 0.1.2
Initial features
-
datetimeoffset()objects-
A
{vctrs}"record" object that supports datetimes with optional UTC offsets and/or (possibly heteregeneous) time zones- Suitable for use as a column in data frames and tibbles
- Separate
{vctrs}accessible record "fields" for year, month, day, hour,
minute, second, nanosecond, hour_offset, minute_offset, and time zone all of which
can be missing except year and can all be accessed by{clock}(style)
accessor functions.
If suggested{lubridate}is installed can also use{lubridate}accessors/extractors. - Non-missing time zones need not all be the same value
-
Supports lossless import/export of pdfmark datetime strings and a decent subset of
ISO 8601 datetime strings even when datetime elements are unknown
-
-
as_datetimeoffset()converts from standard datetime strings and from other R datetime objects:-
All pdfmark datetime strings
-
Decent subset of ISO 8601 datetime strings
- Also supports the extension of specifying a named time zone at the end surrounded in brackets.
-
The datetime strings understood by the default
tryFormatsofas.POSIXlt() -
Date()objects -
POSIXct()objects -
POSIXlt()objects -
nanotime::nanotime()objects -
parttime::parttime()objects -
five
{clock}calendars and three{clock}times -
Any other datetime objects with an
as.POSIXct()method
-
-
Support for formatting output strings:
-
format()returns RFC 3339 with de facto time zone extension strings -
format_edtf()returns Extended Date Time Format (EDTF) strings- Supports unofficial extensions of "Unspecified Digit" feature to time components and time zones
format_edtf(x, precision = "nanosecond", usetz = TRUE)prints out all information
-
format_iso8601()andlubridate::format_ISO8601()returns ISO 8601 strings -
format_pdfmark()returns pdfmark datetimes strings -
format_nanotime()allows CCTZ style formatting- Can output SQL Server / ODBC datetime literals
-
format_strftime()allowsbase::strftime()style formatting
-
-
Support for converting to other R datetime objects:
-
as.Date()andas_date()converts the local date to abase::Date()object -
as.POSIXct()andas_date_time()converts the datetime to abase::POSIXct()object -
as.POSIXlt()converts the datetime to abase::POSIXlt()object -
as.nanotime()converts the datetime to ananotime::nanotime()object -
as.parttime()converts the datetime to aparttime::parttime()object -
{clock}calendars, times, and weekdays:as_iso_year_week_day(),as_year_day(),as_year_month_day(),as_year_month_weekday(),as_year_quarter_day()as_naive_time(),as_sys_time(),as_zoned_time()as_weekday()
-
-
Support for several accessor S3 methods from
{clock}get_year()andset_year()get_month()andset_month()get_day()andset_day()get_hour()andset_hour()get_minute()andset_minute()get_second()andset_second()get_nanosecond()andset_nanosecond()
-
Support for several accessor methods from
{lubridate}year()andyear()<-month()andmonth()<-day()andday()<-hour()andhour()<-minute()andminute()<-second()andsecond()<-tz()andtz()<-
-
New accessor S3 methods:
get_subsecond_digits()andset_subsecond_digits()get_hour_offset()andset_hour_offset()get_minute_offset()andset_minute_offset()get_tz()andset_tz()(changes system time, not clock time)
-
Get/set datetime "precision" S3 methods
datetime_cast()datetime_narrow()datetime_precision()datetime_widen()
-
Additional subsecond accessors
get_millisecond()andset_millisecond()get_microsecond()andset_microsecond()get_subsecond()andset_subsecond()
-
Other utilities:
datetimeoffset_now()returns the current time in the corresponding time zone(s).is_datetimeoffset()andNA_datetimeoffset_fill_tz()andfill_utc_offsets()fill in missing time zones and missing UTC offsets respectively.mode_tz()is an S3 method that gets most common time zone for a datetime objectdatetime_at_tz()can be used to change the timezone
(changes clock time, not system time).get_utc_offsets()andset_utc_offsets()gets/sets UTC offset strings- Support for
{clock}invalid datetime methodsinvalid_detect(),invalid_any(),
invalid_count(),invalid_remove(), andinvalid_resolve(). precision_to_int()converts datetime precisions to an integer- Support for
{base}datetime extractorsweekdays(),months(),quarters(), andjulian() - Support for
{lubridate}datetime extractorsdate(),date()<-,isoyear(),epiyear(),
quarter(),semester(),week(),isoweek(),epiweek(),
qday(),qday<-(),wday(),wday<-(),yday(),yday<-(),
am(),pm(),days_in_month(),dst(), andleap_year(). - Support for
{lubridate}force_tz()andwith_tz().