[R] problem with as.POSIXct and daylight savings time
Denis Chabot
chabotd at globetrotter.net
Sun Jul 19 18:36:12 CEST 2009
Thank you very much Duncan.
I'll follow your suggestion.
Why do I want to do what the designer did not think anyone would want
to do? I have data acquisition equipment taking measurements every 15
min or so for days at a time, and I need to compile all such
experiments in a master data set. The data acquisition equipment
automatically switches to DST in spring and back to ST in autumn,
which I did not disable because it is easier to work with while we are
running the experiments.
I could use chron to ignore time zones and daylight savings time, but
this would not be of much help as whether or not I use as.POSIXct or
chron, there is one day of the year that has 25 h and I need to deal
with that 25th hour or I'll lose one hour of data!
Denis
Le 09-07-19 à 11:45, Duncan Murdoch a écrit :
> On 19/07/2009 11:23 AM, Denis Chabot wrote:
>> [was " [R] end of daylight saving time"]
>> Hi,
>> I got no reply with the previous subject line, probably a bad
>> choice of subject on my part, so here it is again.
>> I read from the help on DateTimeClasses and various posts on this
>> list that, quite logically, one needs to specify if DST is active
>> or not when time is between 1 and 2 AM on the first Sunday in
>> November (for North America in recent years).
>> This I can do for on date at a time:
>> a <- as.POSIXct("2008-11-02 01:30:00", tz="EST5EDT") # to get
>> automatic use of DST
>> b <- as.POSIXct("2008-11-02 01:30:00", tz="EST") # to tell T this
>> is the second occurrence of 1:30 that day, in ST
>> difftime(b,a)
>> Time difference of 1 hours
>> But why can't I do the following, which appears to be a typical R
>> way of doing things, to handle several date-times at once?
>> c <- rep("2008-11-02 01:30:00", 2)
>> tzone = c("EST5EDT", "EST")
>> as.POSIXct(c, tz=tzone)
>> Erreur dans strptime(xx, f <- "%Y-%m-%d %H:%M:%OS", tz = tz) :
>> valeur 'tz' incorrecte
>> ???
>
> Objects of the POSIXlt and POSIXct classes don't support multiple
> time zones, so if you specified several time zones on input, how
> would the conversion functions decide which one to use for output?
> You'll need to write your own wrapper function to make this
> decision, and do the conversions separately for each input timezone.
>
> Why don't those classes support a separate time zone for each entry?
> Presumably because their designer never thought anyone would want to
> do that.
>
> Duncan Murdoch
>
>
>> Thanks,
>> Denis Chabot
>> sessionInfo()
>> R version 2.9.1 Patched (2009-07-09 r48929)
>> x86_64-apple-darwin9.7.0
>> locale:
>> fr_CA.UTF-8/fr_CA.UTF-8/C/C/fr_CA.UTF-8/fr_CA.UTF-8
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>> loaded via a namespace (and not attached):
>> [1] tools_2.9.1
>> ______________________________________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>
More information about the R-help
mailing list