[R] POSIX and summer savings time redux

Derek Eder derek.eder at lungall.gu.se
Thu Dec 7 11:16:32 CET 2006


When I tried Professor Ripley's example (below), the "tz" argument 
failed to adjust clock time from UTC.

 > (z <- ISOdatetime(1970,1,1,0,0,0, tz="UTC")+1165398135729/1000)
[1] "2006-12-06 09:42:15 UTC"


 > format(z, "%Y-%m-%d %H:%M:%OS3",tz = "CET")
[1] "2006-12-06 09:42:15.729"
# expected CET (Central European Time) clock time is UTC + 1 hour time 
zone adjustment


Am I running into platform dependencies?

(my platform)
platform       i386-pc-mingw32            
arch           i386                       
os             mingw32                    
system         i386, mingw32              
status                                    
major          2                          
minor          4.0                        
year           2006                       
month          10                         
day            03                         
svn rev        39566                      
language       R                          
version.string R version 2.4.0 (2006-10-03)


Thank you most sincerely,

Derek Eder



Prof Brian Ripley wrote:
> On Wed, 6 Dec 2006, Derek Eder wrote:
>
>> I have a time stamp in UTC (GMT) time:
>>
>> >  format(ISOdatetime(1970,1,1,0,0,0)+1165398135729/1000,"%Y-%m-%d
>> %H:%M:%OS3")
>>
>> "2006-12-06 09:42:18.823"  (note millisecond accuracy, but not relevant
>> to question here)
>
> But it is the wrong answer, and not what my system gives.
>
>> Now, this time stamp actually "happened" at local (Swedish) time one
>> hour later (10:42).
>
> So you need to tell R that it was in UTC, which is what the 'tz' 
> argument is for:
>
>> (z <- ISOdatetime(1970,1,1,0,0,0, tz="UTC")+1165398135729/1000)
> [1] "2006-12-06 09:42:15 UTC"
>> format(z, "%Y-%m-%d %H:%M:%OS3", tz="CET")
> [1] "2006-12-06 10:42:15.729"
>
>> Regarding summer/winter adjustments in time ("spring forward, fall
>> back"):   Is there a way of automatically recovering the local time
>> adjustments for a given date?  E.g., a date/time in springtime = GMT +2
>> , else GMT +1
>
> Is the above not enough?  You can unpick it if you want to get the shift.
>


-- 
Derek N. Eder

Gothenburg University 
VINKLA - Vigilance and Neurocognition laboratory 

SU/Sahlgrenska
Utvecklingslab 1, Med
Gröna stråket 8
SE 413 45 Göteborg (Gothenburg)
Sverige (Sweden)

+46 (031)* 342 8261 (28261 inom Sahlgrenska)
+46 0704 915 714 (mobile)
+46 (031) 25 97 07 (home)

* omit the 0 when calling from outside Sweden




More information about the R-help mailing list