From j|r|@c@mor@vec @end|ng |rom gm@||@com  Tue Feb  6 22:23:15 2024
From: j|r|@c@mor@vec @end|ng |rom gm@||@com (=?UTF-8?B?SmnFmcOtIE1vcmF2ZWM=?=)
Date: Wed, 7 Feb 2024 10:23:15 +1300
Subject: [Rd] round.Date and trunc.Date not working / implemented
Message-ID: <ab3376ac-5694-4a53-9606-c11bd97a4f0a@gmail.com>

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



[Rd] round.Date and trunc.Date not working / implemented
=?UTF-8?B?SmnFmcOtIE1vcmF2ZWM=?=