[R] problem with as.POSIXct and daylight savings time

Denis Chabot chabotd at globetrotter.net
Sun Jul 19 18:48:33 CEST 2009


Thanks for the suggestion, Spencer. I will take a look and will report  
to the list if I find this a better solution for my situation. Might  
take a couple of days though.

Denis
Le 09-07-19 à 12:42, spencerg a écrit :

> 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