hms 1.1.4
Features
is.hms()andas.hms()now warn even when called indirectly (@moodymudskipper, #121, #163).Implement
ceiling_hms()andfloor_hms()(@moodymudskipper, #118, #160).
Chore
Spring cleaning (@schochastics, #174, #175).
Use rlang instead of ellipsis (#106).
hms 1.1.0
CRAN release: 2021-05-17
Features
- New
unique.hms()method (#98, @joethorley). -
as_hms()is a generic again (#81).
Internal
- Avoid
LazyDatainDESCRIPTION. - Bump required versions of ellipsis and vctrs to avoid warning during package load.
- Using lifecycle package (#94).
hms 1.0.0
CRAN release: 2021-01-13
Features
-
as_hms()is a generic again (#81). -
round_hms()andtrunc_hms()gaindigitsargument (#78, @hglanz).
hms 0.5.3
CRAN release: 2020-01-08
- Use
vec_default_ptype2(), removevec_ptype2.hms.unspecified()(#80, @romainfrancois). -
vec_ptype2.hms.default()forwards tovec_default_ptype2()for compatibility with vctrs 0.2.1. - Remove
as.data.frame.hms(), handeld by vctrs.
hms 0.5.2
CRAN release: 2019-10-30
- Work around parsing error that occurs on DST changeover dates (https://bugs.r-project.org/bugzilla/show_bug.cgi?id=16764).
hms 0.5.1
CRAN release: 2019-08-23
- Lossy casts from
charactervectors tohmsnow also trigger a warning if the cast succeeds in the first element of the vector but fails for other elements.
hms 0.5.0
CRAN release: 2019-07-09
Breaking changes
Now based on vctrs >= 0.2.0 (#61). This adds support for
vec_cast()andvec_ptype2(). Some operations (such as subset assignment) are now stricter. Thenew_hms()constructor permits safe construction ofhmsobjects from a numeric vector.The new
is_hms()deprecates the existingis.hms().as.hms()is deprecated in favor ofvec_cast()or the newas_hms()(which is just a thin wrapper aroundvec_cast()).
Internal
- Don’t test colored output on CRAN.
- Correct reference link on r4ds (#58, @evanhaldane).
hms 0.4.0
CRAN release: 2017-11-22
Breaking changes
-
as.hms.POSIXt()now defaults to the current time zone, the previous default was"UTC"and can be restored by callingpkgconfig::set_config("hms::default_tz", "UTC").
New features
- Pillar support, will display
hmscolumns in tibbles in color on terminals that support it (#43). - New
round_hms()andtrunc_hms()for rounding or truncating to a given multiple of seconds (#31). - New
parse_hms()andparse_hm()to parse strings in “HH:MM:SS” and “HH:MM” formats (#30). -
as.hms.POSIXt()gainstzargument, default"UTC"(#28). -
as.hms.character()andparse_hms()accept fractional seconds (#33).
Bug fixes
-
hms()now works correctly if all four components (days, hours, minutes, seconds) are passed (#49). -
hms()creates a zero-length object of classhmsthat prints as"hms()". -
hms(integer())andas.hms(integer())both work and are identical tohms(). - Values with durations of over 10000 hours are now printed correctly (#48).
-
c()now returns a hms (#41, @qgeissmann).
hms 0.2
CRAN release: 2016-06-17
Minor fixes and improvements.
- Subsetting keeps
hmsclass (#16). -
format.hms()right-justifies the output by padding with spaces from the left,as.character.hms()remains unchanged. - Times larger than 24 hours or with split seconds are now formatted correctly (#12, #13).
- Sub-second part is printed with up to six digits, for even smaller values trailing zeros are shown (#17).
hms 0.1
CRAN release: 2016-05-02
First CRAN release.
- Values are stored as a numeric vector that contains the number of seconds since midnight.
- Inherits from
difftimeclass. - Updating units is a no-op, anything different from
"secs"issues a warning.
- Inherits from
- Supports construction from time values, coercion to and from various data types, and formatting.
- Conversion from numeric treats input as seconds.
- Negative times are formatted with a leading
-.
- Can be used as a regular column in a data frame.
- Full test coverage.
- Test for arithmetic with
Date,POSIXtandhmsclasses. - Test basic compatibility with
lubridatepackage (#5).
- Test for arithmetic with
- Interface:
-
hms()(with rigorous argument checks) -
as.hms()forcharacter,numeric,POSIXctandPOSIXlt -
as.xxx.hms()forcharacter,numeric(implicitly),POSIXctandPOSIXlt is.hms()-
as.data.frame.hms()(forwards toas.data.frame.difftime()) format.hms()-
print.hms()(returns unchanged input invisibly)
-
