>>>>> Jiří Moravec >>>>> on Wed, 7 Feb 2024 10:23:15 +1300 writes:
> 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 You are wrong: They *are* implemented, both even visible since they are in the 'base' package! ==> they have help pages you can read .... Here are examples: > trunc(Sys.Date()) [1] "2024-02-08" > trunc(Sys.Date(), "month") [1] "2024-02-01" > trunc(Sys.Date(), "year") [1] "2024-01-01" > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel