[Rd] Date and time problems

Erich Neuwirth erich.neuwirth at univie.ac.at
Wed Aug 16 00:45:25 CEST 2006


I am running R 2.3.1 on Windows XP.
My machine is set (via the Windows Control Panel) to Central European
time  (Amsterdam, Berlin, Rome, Stockholm, Vienna) and automatically has
DST set, so I am 2 hours ahead of GMT.
No TZ variable is set.

> Sys.timezone()
[1] "W. Europe Standard Time"
> Sys.Date()
[1] "2006-08-15"
> as.POSIXlt(Sys.Date())
[1] "2006-08-15"
> as.POSIXct(Sys.Date())
[1] "2006-08-15 02:00:00 W. Europe Standard Time"
> as.POSIXct(as.POSIXlt(Sys.Date()))
[1] "2006-08-15 01:00:00 W. Europe Standard Time"

Converting to POSIXct and converting to POSIXlt and then to POSIXct
produces different results, which is rather strange.

When I do
> Sys.time()
[1] "2006-08-16 00:12:40 W. Europe Standard Time"

I get my clock time with numerically correct time for my location, but
with an incorrect timezone stamp.

If I set TZ=CET, something else happens.
It is just past midnight, my Windows system clock shows
12:33 AM, and the date is Aug 16 (here in Austria)
With TZ=CET,

> Sys.Date()
[1] "2006-08-15"
> Sys.time()
[1] "2006-08-15 22:33:30 CET"

So I get current GMT time (my time - 2 hours) and date,
but with a CET time stamp.

When TZ does not have a value,
> Sys.Date()
[1] "2006-08-16"
> Sys.time()
[1] "2006-08-16 00:32:37 W. Europe Standard Time"

This is numerically correct time and date, but with an incorrect
timezone stamp.

So I never get completely correct information,
even when Windows timezone information is correct and TZ has
the correct value.
Is this something which should be corrected?


-- 
Erich Neuwirth, University of Vienna
Faculty of Computer Science
Computer Supported Didactics Working Group
Visit our SunSITE at http://sunsite.univie.ac.at
Phone: +43-1-4277-39464 Fax: +43-1-4277-39459



More information about the R-devel mailing list