Sub-second value parsing accurately (@eitsupi, #127, #128).
is.hms() and as.hms() now warn even
when called indirectly (@moodymudskipper, #121,
#163).
Implement ceiling_hms() and floor_hms()
(@moodymudskipper, #118,
#160).
Spring cleaning (@schochastics, #174, #175).
Use rlang instead of ellipsis (#106).
"hms" objects no longer have a common type with
character and numeric. Combining such values
previously threw a warning, now throws an error (#94).vec_cast() and as_hms() throw error
instead of a warning if input can’t be parsed (#68).unique.hms() method (#98, @joethorley).as_hms() is a generic again (#81).LazyData in DESCRIPTION."hms" objects no longer have a common type with
character and numeric. Combining such values
previously threw a warning, now throws an error (#94).vec_cast() and as_hms() now throw error
instead of a warning if input can’t be parsed (#68).as_hms() is a generic again (#81).round_hms() and trunc_hms() gain
digits argument (#78, @hglanz).as_hms() and vec_cast() now correctly
treat objects of class "difftime" with integer
mode (#84).vec_default_ptype2(), remove
vec_ptype2.hms.unspecified() (#80, @romainfrancois).vec_ptype2.hms.default() forwards to
vec_default_ptype2() for compatibility with vctrs
0.2.1.as.data.frame.hms(), handeld by vctrs.character vectors to hms
now also trigger a warning if the cast succeeds in the first element of
the vector but fails for other elements.Now based on vctrs >= 0.2.0 (#61). This adds support for
vec_cast() and vec_ptype2(). Some operations
(such as subset assignment) are now stricter. The new_hms()
constructor permits safe construction of hms objects from a
numeric vector.
The new is_hms() deprecates the existing
is.hms(). as.hms() is deprecated in favor of
vec_cast() or the new as_hms() (which is just
a thin wrapper around vec_cast()).
Always show seconds in a pillar if they are different from zero (#54).
Values with nonzero hours, seconds and split-seconds are now displayed correctly in tibbles (#56), even with a very small distance to the full second (#64).
NA when converting to character
(#51, @jeroen).as.hms.POSIXt() now defaults to the current time zone,
the previous default was "UTC" and can be restored by
calling
pkgconfig::set_config("hms::default_tz", "UTC").hms columns in tibbles in
color on terminals that support it (#43).round_hms() and trunc_hms() for
rounding or truncating to a given multiple of seconds (#31).parse_hms() and parse_hm() to parse
strings in “HH:MM:SS” and “HH:MM” formats (#30).as.hms.POSIXt() gains tz argument, default
"UTC" (#28).as.hms.character() and parse_hms() accept
fractional seconds (#33).hms() now works correctly if all four components (days,
hours, minutes, seconds) are passed (#49).hms() creates a zero-length object of class
hms that prints as "hms()".hms(integer()) and as.hms(integer()) both
work and are identical to hms().c() now returns a hms (#41, @qgeissmann).?hms.hms() with a
character argument (#29).lubridate test for compatibility with 1.6.0 (#23,
@vspinu).NA (#22).Minor fixes and improvements.
hms class (#16).format.hms() right-justifies the output by padding with
spaces from the left, as.character.hms() remains
unchanged.First CRAN release.
difftime class."secs" issues a warning.-.Date, POSIXt and
hms classes.lubridate package
(#5).hms() (with rigorous argument checks)as.hms() for character,
numeric, POSIXct and POSIXltas.xxx.hms() for character,
numeric (implicitly), POSIXct and
POSIXltis.hms()as.data.frame.hms() (forwards to
as.data.frame.difftime())format.hms()print.hms() (returns unchanged input invisibly)