[R] round.POSIXt gets certain values wrong

Don MacQueen macq at llnl.gov
Fri May 17 17:54:10 CEST 2002


For certain values, round.POSIXt(tm,'day') does not round to midnight 
as documented. The reason is that trunc.POSIXt() does not adjust the 
value of the isdst element. Assuming my assessment of the reason is 
correct, I have a potential solution to offer. Additional discussion 
is in bug report #1543.

-Don

>   x <- c(as.POSIXct('2001-4-1 3:15'),as.POSIXct('2001-5-2 17:56'))
>   print(x)
[1] "2001-04-01 03:15:00 PDT" "2001-05-02 17:56:00 PDT"
>
>   tmp <- round.POSIXt(x,'day')
>   print(tmp)    ## note that tmp[1] is labeled PDT, not PST
[1] "2001-04-01 PDT" "2001-05-03 PDT"
>
### after converting back to POSIXct the rounded value is
### not midnight
>   print( as.POSIXct(tmp) )
[1] "2001-03-31 23:00:00 PST" "2001-05-03 00:00:00 PDT"
>
###
### potential solution
###
>   tmp$isdst <- as.POSIXlt(format(tmp))$isdst
>   print( as.POSIXct(tmp) )
[1] "2001-04-01 PST" "2001-05-03 PDT"
>
>   version
           _
platform sparc-sun-solaris2.7
arch     sparc
os       solaris2.7
system   sparc, solaris2.7
status
major    1
minor    5.0
year     2002
month    04
day      29
language R

>   Sys.getenv('TZ')
            TZ
"US/Pacific"

-- 
--------------------------------------
Don MacQueen
Environmental Protection Department
Lawrence Livermore National Laboratory
Livermore, CA, USA
--------------------------------------
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._



More information about the R-help mailing list