Skip to content

as.hms should be able to parse if no seconds #30

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
hadley opened this issue Apr 23, 2017 · 4 comments
Closed

as.hms should be able to parse if no seconds #30

hadley opened this issue Apr 23, 2017 · 4 comments

Comments

@hadley
Copy link
Member

hadley commented Apr 23, 2017

> hms::as.hms("05:00")
NA
@krlmlr
Copy link
Member

krlmlr commented Apr 25, 2017

We could support as.hms("05:00", "%H:%M"), but I'm not sure we should accept this unconditionally.?

@hadley
Copy link
Member Author

hadley commented Apr 25, 2017

Unconditionally seems reasonable to me

@krlmlr krlmlr closed this as completed in f46cad7 Apr 25, 2017
@krlmlr
Copy link
Member

krlmlr commented Apr 25, 2017

Added parse_hm() and parse_hms(), because I think it's better to be explicit. as.hms() forwards to parse_hms().

krlmlr added a commit that referenced this issue Apr 25, 2017
- New `round_hms()` and `trunc_hms()` for rounding or truncating to a given multiple of seconds (#31).
- New `parse_hms()` and `parse_hm()` to parse strings in "HH:MM:SS" and "HH:MM" formats (#30).
- Documentation is in Markdown format now.
- Improved error message if calling `hms()` with a character argument (#29).
krlmlr added a commit that referenced this issue Nov 23, 2017
Breaking changes
----------------

- `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")`.

New features
------------

- Pillar support, will display `hms` columns in tibbles in color on terminals
  that support it (#43).
- New `round_hms()` and `trunc_hms()` for rounding or truncating to a given multiple of seconds (#31).
- New `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).

Bug fixes
---------

- `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()`.
- Values with durations of over 10000 hours are now printed correctly (#48).
- `c()` now returns a hms (#41, @qgeissmann).

Documentation and error messages
--------------------------------

- Fix and enhance examples in `?hms`.
- Documentation is in Markdown format now.
- Improved error message if calling `hms()` with a character argument (#29).
@github-actions
Copy link
Contributor

This old thread has been automatically locked. If you think you have found something related to this, please open a new issue and link to this old issue if necessary.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 23, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants