[Rd] Date conversion with as.POSIXct and as.POSIXlt (PR#9196)
Prof Brian Ripley
ripley at stats.ox.ac.uk
Fri Sep 1 12:21:28 CEST 2006
You misunderstand the role of timezones.
as.POSIXct(Sys.Date())
is in UTC, as documented.
as.POSIXlt(Sys.Date())
does not have a timezone (POSIXlt objects do not need one).
as.POSIXct(as.POSIXlt(Sys.Date()))
means
as.POSIXct(as.POSIXlt(Sys.Date()), tz="")
which is asking to interpret this in the local timezone.
I've expanded the documentation, but I see no sign you had studied it so
that it unlikely to help you.
On Fri, 1 Sep 2006, erich.neuwirth at univie.ac.at wrote:
> Full_Name: Erich Neuwirth
> Version: 2.3.1
> OS: Windows XP, Linux
> Submission from: (NULL) (131.130.135.167)
>
>
> Converting Sys.Date() to a POSIX compliant time type in different ways
> produces inconsistent results:
> > Sys.date()
> [1] "2006-09-01"
> > as.POSIXct(Sys.Date())
> [1] "2006-09-01 02:00:00 CEST"
> > as.POSIXlt(Sys.Date())
> [1] "2006-09-01"
> > as.POSIXct(as.POSIXlt(Sys.Date()))
> [1] "2006-09-01 01:00:00 CEST"
>
> Applying as.POSIXct directly or first applying as.POSIXlt and then
> applying as.POSIXct produces different results.
>
> This happens on Linux with timezone "CEST"
> > Sys.time()
> [1] "2006-09-01 11:03:36 CEST"
> and on Windows with timezone "W. Europe Daylight Time"
> > Sys.time()
> [1] "2006-09-01 11:11:15 W. Europe Daylight Time"
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-devel
mailing list