[R] Basic date time arithmetics operations
Duncan Murdoch
dmurdoch at pair.com
Sun Apr 27 19:01:35 CEST 2003
On Sun, 27 Apr 2003 18:14:28 +0200, you wrote:
>Also for the function seq.dates (or seq.POSIXt), the
>case for by="months" would be more useful if it takes
>the situation of the end of month into account.
>For example,
>
>> seq(ISOdate(2002,1,31), by="months", length=3)
>
>"2002-01-31 13:00:00 CET"
>"2002-03-03 13:00:00 CET"
>"2002-03-31 13:00:00 CET"
>
>rather than
>
>"2002-01-31 13:00:00 CET"
>"2002-02-28 13:00:00 CET"
>"2002-03-31 13:00:00 CET"
I don't think that's a well-defined request. What would you want from
seq(ISOdate(2002,12,30), by="months", length=5)
Should it give February 27, since you asked for the day before the end
of the month? What should it do in April?
I think the current behaviour is doing what it should doing. If you
really want the last day of the month in three successive months, then
you should probably get a sequence of first days of months, and then
subtract a day from each. Wish I could tell you how to do that!
Hopefully someone else will.
By the way, I noticed a typo in the help for difftime() (it was
missing an escape on one of the % signs, so the end of the line
disappeared), and I've committed a fix to R-patched.
Duncan Murdoch
More information about the R-help
mailing list