Bumps required {clock} version to version 0.7.3 (#64).
format_iso8601()'s mode argument now supports "toml" for outputting datetimes
using the subset of ISO 8601 supported by TOML v1.0.0 (#60).as_datetimeoffset.character() can now parse ISO 8601 times without associated dates (#59).format() and format_iso8601() can now format times without associated dates (#59).format_edtf() now truncates the number of subsecond digits according to
the subsecond_digits field.get_tz.Date() S3 method which returns NA_character_ for "Date" objects (#62).{clock} v0.7.0.format_pdfmark() has new argument prefix that supports "D:" or "" (#57).{clock} whose as_sys_time() method has an ... argument
then the registered S3 method for datetimeoffset() objects now supports
arguments ambiguous, nonexistent, and fill (#33).format_exiftool() formats datetime strings as expected by the command-line tool exiftool (#54).as_datetimeoffset.integer() and as_datetimeoffset.numeric()
coerce numeric values as the new datetimeoffset() objects year field (#53).format_iso8601() has new argument mode which supports "normal" and "xmp".
as_datetimeoffset.character() now parses pdfmark datetimes of the form D:YYYYmmddHHMMSSZ00'00' (#56)
Skip a test on CRAN which was failing on r-oldrel-windows-ix86+x86_64 (#52)
datetimeoffset() objects
A {vctrs} "record" object that supports datetimes with optional UTC offsets and/or (possibly heteregeneous) time zones
{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.{lubridate} is installed can also use {lubridate} accessors/extractors.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
The datetime strings understood by the default tryFormats of as.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
format_edtf(x, precision = "nanosecond", usetz = TRUE) prints out all informationformat_iso8601() and lubridate::format_ISO8601() returns ISO 8601 strings
format_pdfmark() returns pdfmark datetimes strings
format_nanotime() allows CCTZ style formatting
format_strftime() allows base::strftime() style formatting
Support for converting to other R datetime objects:
as.Date() and as_date() converts the local date to a base::Date() object
as.POSIXct() and as_date_time() converts the datetime to a base::POSIXct() object
as.POSIXlt() converts the datetime to a base::POSIXlt() object
as.nanotime() converts the datetime to a nanotime::nanotime() object
as.parttime() converts the datetime to a parttime::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() and set_year()get_month() and set_month()get_day() and set_day()get_hour() and set_hour()get_minute() and set_minute()get_second() and set_second()get_nanosecond() and set_nanosecond()Support for several accessor methods from {lubridate}
year() and year()<-month() and month()<-day() and day()<-hour() and hour()<-minute() and minute()<-second() and second()<-tz() and tz()<-New accessor S3 methods:
get_subsecond_digits() and set_subsecond_digits()get_hour_offset() and set_hour_offset()get_minute_offset() and set_minute_offset()get_tz() and set_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() and set_millisecond()get_microsecond() and set_microsecond()get_subsecond() and set_subsecond()Other utilities:
datetimeoffset_now() returns the current time in the corresponding time zone(s).is_datetimeoffset() and NA_datetimeoffset_fill_tz() and fill_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() and set_utc_offsets() gets/sets UTC offset strings{clock} invalid datetime methods invalid_detect(), invalid_any(),
invalid_count(), invalid_remove(), and invalid_resolve().precision_to_int() converts datetime precisions to an integer{base} datetime extractors weekdays(), months(), quarters(), and julian(){lubridate} datetime extractors date(), date()<-, isoyear(), epiyear(),
quarter(), semester(), week(), isoweek(), epiweek(),
qday(), qday<-(), wday(), wday<-(), yday(), yday<-(),
am(), pm(), days_in_month(), dst(), and leap_year().{lubridate} force_tz() and with_tz().