[R] problem with as.POSIXct and daylight savings time
spencerg
spencer.graves at prodsyse.com
Sun Jul 19 18:42:56 CEST 2009
Have you considered the "timeDate" package?
Spencer
Denis Chabot wrote:
> 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.
>>
>
> ______________________________________________
> 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