From felix at nfrac.org  Mon Mar 19 14:58:50 2007
From: felix at nfrac.org (felix at nfrac.org)
Date: Mon, 19 Mar 2007 14:58:50 +0100 (CET)
Subject: [Rd] R4.1: seq.POSIXt, tz="AEST" (PR#9572)
Message-ID: <20070319135850.2C6CC5AC1E@slim.kubism.ku.dk>

------=_Part_63767_16761935.1174312715444
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I am sorry, "AEST" was wrong. I can't work out what timezone code it is, but
my default timezone here in eastern australia prints as:
> as.POSIXct("1970-01-01", tz="")
[1] "1970-01-01 AUS Eastern Daylight Time"

and that is the one that has repeated dates before 1970.

But I take your point that it is fundamentally a problem with Windows.

--Felix


On 3/19/07, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
>
> Hmm, AEST is not a valid time zone on Windows.
> See ?as.POSIXlt for one of several places where this is documented.
>
> But in any case, the underlying problem is in the OS, and we only try to
> work around it to the best of our knowledge (and that excludes
> undocumented time zones).
>
>
> On Mon, 19 Mar 2007, felix at nfrac.org wrote:
>
> > Times from seq.POSIXt come out wrong in AEST timezone around Feb 29
> every
> > leap year before 1970 (on Windows XP).
> >
> > According to help(DateTimeClasses), this is handled by "our own C code".
> >
> >> x <- as.POSIXct("1968-02-27") # tz="AEST"
> >> x.gmt <- as.POSIXct("1968-02-27", tz="GMT")
> >> data.frame(
> >     GMT=seq(x.gmt, by="day", length=8),
> >     byday=seq(x, by="day", length=8),
> >     byDST=seq(x, by="DSTday", length=8))
> >         GMT      byday      byDST
> > 1 1968-02-27 1968-02-27 1968-02-27
> > 2 1968-02-28 1968-02-28 1968-02-28
> > 3 1968-02-29 1968-03-01 1968-03-02
> > 4 1968-03-01 1968-03-02 1968-03-02
> > 5 1968-03-02 1968-03-02 1968-03-02
> > 6 1968-03-03 1968-03-03 1968-03-03
> > 7 1968-03-04 1968-03-04 1968-03-04
> > 8 1968-03-05 1968-03-05 1968-03-05
> >
> >> R.version
> >               _
> > platform       i386-pc-mingw32
> > arch           i386
> > os             mingw32
> > system         i386, mingw32
> > status
> > major          2
> > minor          4.1
> > year           2006
> > month          12
> > day            18
> > svn rev        40228
> > language       R
> > version.string R version 2.4.1 (2006-12-18)
> >
> >
> >
> >
>
> --
> 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
>

------=_Part_63767_16761935.1174312715444
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

I am sorry, &quot;AEST&quot; was wrong. I can&#39;t work out what timezone code it is, but my default timezone here in eastern australia prints as:<br>&gt; as.POSIXct(&quot;1970-01-01&quot;, tz=&quot;&quot;)<br>[1] &quot;1970-01-01 AUS Eastern Daylight Time&quot;
<br><br>and that is the one that has repeated dates before 1970.<br><br>But I take your point that it is fundamentally a problem with Windows.<br><br>--Felix<br><br><br><div><span class="gmail_quote">On 3/19/07, <b class="gmail_sendername">
Prof Brian Ripley</b> &lt;<a href="mailto:ripley at stats.ox.ac.uk">ripley at stats.ox.ac.uk</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hmm, AEST is not a valid time zone on Windows.<br>See ?as.POSIXlt for one of several places where this is documented.<br><br>But in any case, the underlying problem is in the OS, and we only try to<br>work around it to the best of our knowledge (and that excludes
<br>undocumented time zones).<br><br><br>On Mon, 19 Mar 2007, <a href="mailto:felix at nfrac.org">felix at nfrac.org</a> wrote:<br><br>&gt; Times from seq.POSIXt come out wrong in AEST timezone around Feb 29 every<br>&gt; leap year before 1970 (on Windows XP).
<br>&gt;<br>&gt; According to help(DateTimeClasses), this is handled by &quot;our own C code&quot;.<br>&gt;<br>&gt;&gt; x &lt;- as.POSIXct(&quot;1968-02-27&quot;) # tz=&quot;AEST&quot;<br>&gt;&gt; x.gmt &lt;- as.POSIXct(&quot;1968-02-27&quot;, tz=&quot;GMT&quot;)
<br>&gt;&gt; data.frame(<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; GMT=seq(x.gmt, by=&quot;day&quot;, length=8),<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; byday=seq(x, by=&quot;day&quot;, length=8),<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; byDST=seq(x, by=&quot;DSTday&quot;, length=8))<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GMT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;byday&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;byDST
<br>&gt; 1 1968-02-27 1968-02-27 1968-02-27<br>&gt; 2 1968-02-28 1968-02-28 1968-02-28<br>&gt; 3 1968-02-29 1968-03-01 1968-03-02<br>&gt; 4 1968-03-01 1968-03-02 1968-03-02<br>&gt; 5 1968-03-02 1968-03-02 1968-03-02<br>&gt; 6 1968-03-03 1968-03-03 1968-03-03
<br>&gt; 7 1968-03-04 1968-03-04 1968-03-04<br>&gt; 8 1968-03-05 1968-03-05 1968-03-05<br>&gt;<br>&gt;&gt; R.version<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _<br>&gt; platform&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i386-pc-mingw32<br>&gt; arch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i386<br>&gt; os&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mingw32
<br>&gt; system&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i386, mingw32<br>&gt; status<br>&gt; major&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br>&gt; minor&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4.1<br>&gt; year&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2006<br>&gt; month&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12<br>&gt; day&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;18<br>&gt; svn rev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;40228<br>&gt; language&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R
<br>&gt; version.string R version 2.4.1 (2006-12-18)<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br><br>--<br>Brian D. Ripley,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="mailto:ripley at stats.ox.ac.uk">ripley at stats.ox.ac.uk</a><br>Professor of Applied Statistics,&nbsp;&nbsp;
<a href="http://www.stats.ox.ac.uk/~ripley/">http://www.stats.ox.ac.uk/~ripley/</a><br>University of Oxford,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Tel:&nbsp;&nbsp;+44 1865 272861 (self)<br>1 South Parks Road,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +44 1865 272866 (PA)<br>Oxford OX1 3TG, UK&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fax:&nbsp;&nbsp;+44 1865 272595
<br></blockquote></div><br><br>

------=_Part_63767_16761935.1174312715444--



[Rd] R4.1: seq.POSIXt, tz="AEST" (PR#9572)
felix at nfrac.org