[R] Number of Days Between Dates: Incorrect Results For Date	Calucations.
    gerald.herbert@hubbardbreeders.com 
    gerald.herbert at hubbardbreeders.com
       
    Tue Feb 21 16:48:28 CET 2006
    
    
  
In some cases, incorrect results are produced by the code below intended to
calculate the number of days between 2 dates.  The year in question was a
leap year.
Note the results for 2004-04-04 and 2004-04-05 are the same! They should be
37 and 38 respectively.
> as.integer(as.POSIXct("2004-04-02") - as.POSIXct("2004-02-27"))
[1] 35
> as.integer(as.POSIXct("2004-04-03") - as.POSIXct("2004-02-27"))
[1] 36
> as.integer(as.POSIXct("2004-04-04") - as.POSIXct("2004-02-27"))
[1] 37
> as.integer(as.POSIXct("2004-04-05") - as.POSIXct("2004-02-27"))
[1] 37
> as.integer(as.POSIXct("2004-04-06") - as.POSIXct("2004-02-27"))
[1] 38
> as.integer(difftime(as.POSIXct("2004-04-06"),
as.POSIXct("2004-02-27"),units="days"))
[1] 38
> as.integer(difftime(as.POSIXct("2004-04-04"),
as.POSIXct("2004-02-27"),units="days"))
[1] 37
> as.integer(difftime(as.POSIXct("2004-04-05"),
as.POSIXct("2004-02-27"),units="days"))
[1] 37
It appears that difftime() and "-" are producing invalid results.
Regards,
Gerald Herbert
    
    
More information about the R-help
mailing list