[Rd] round.Date and trunc.Date not working / implemented

Jiří Moravec j|r|@c@mor@vec @end|ng |rom gm@||@com
Tue Feb 6 22:23:15 CET 2024


This is my first time working with dates, so if the answer is "Duh, work 
with POSIXt", please ignore it.

Why is not `round.Date` and `trunc.Date` "implemented" for `Date`?

Is this because `Date` is (mostly) a virtual class setup for a better 
inheritance or is that something that is just missing? (like 
`sort.data.frame`). Would R core welcome a patch?

I decided to convert some dates to date using `as.Date` function, which 
converts to a plain `Date` class, because that felt natural.

But then when trying to round to closest year, I have realized that the 
`round` and `trunc` for `Date` do not behave as for `POSIXt`.

I would assume that these will have equivalent output:

Sys.time() |> round("years") # 2024-01-01 NZDT

Sys.Date() |> round("years") # Error in round.default(...): non-numeric 
argument to mathematical function


Looking at the code (and reading the documentation more carefully) shows 
the issue, but this looks like an omission that should be patched.

-- Jirka



More information about the R-devel mailing list