strptime return wrong data?, look the R session. # datetxt: vector of date in text format> datetxt <- c("1939-Oct-06 00:00:00", "1939-Oct-07 00:00:00","1939-Oct-08 00:00:00", "1939-Oct-09 00:00:00")> datehour <- strptime(datetxt,format= "%Y-%b-%d %H:%M:%S") > datehour[1] "1939-10-06 00:00:00" "1939-10-07 00:00:00" "1939-10-08 01:00:00" [4] "1939-10-09 00:00:00" # look value of datehour[3] element, where hour output equal 01:00:00, # but hour input equal 00:00:00. Juan
Juan Santiago Ramseyer <juan_sr <at> uol.com.br> writes: : : strptime return wrong data?, look the R session. : : # datetxt: vector of date in text format : > datetxt <- c("1939-Oct-06 00:00:00", "1939-Oct-07 00:00:00", : "1939-Oct-08 00:00:00", "1939-Oct-09 00:00:00") : : > datehour <- strptime(datetxt,format= "%Y-%b-%d %H:%M:%S") : > datehour : [1] "1939-10-06 00:00:00" "1939-10-07 00:00:00" "1939-10-08 01:00:00" : [4] "1939-10-09 00:00:00" : : # look value of datehour[3] element, where hour output equal 01:00:00, : # but hour input equal 00:00:00. : On my machine it comes out like this: R> datetxt <- c("1939-Oct-06 00:00:00", "1939-Oct-07 00:00:00", + "1939-Oct-08 00:00:00", "1939-Oct-09 00:00:00") R> datehour <- strptime(datetxt,format= "%Y-%b-%d %H:%M:%S") R> datehour [1] "1939-10-06" "1939-10-07" "1939-10-08" "1939-10-09" R> R.version.string # Windows XP [1] "R version 2.0.1, 2004-11-04"
The bug is in your (unstated) OS, probably in its locale handling. Does not happen on Solaris, Linux or Windows for me. In any case, why not use as.Date? On Mon, 22 Nov 2004, Juan Santiago Ramseyer wrote:> strptime return wrong data?, look the R session. > > > # datetxt: vector of date in text format >> datetxt <- c("1939-Oct-06 00:00:00", "1939-Oct-07 00:00:00", > "1939-Oct-08 00:00:00", "1939-Oct-09 00:00:00") > >> datehour <- strptime(datetxt,format= "%Y-%b-%d %H:%M:%S") >> datehour > [1] "1939-10-06 00:00:00" "1939-10-07 00:00:00" "1939-10-08 01:00:00" > [4] "1939-10-09 00:00:00" > > # look value of datehour[3] element, where hour output equal 01:00:00, > # but hour input equal 00:00:00.Is there a DST issue in your unstated timezone? -- Brian D. Ripley, ripley@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
Em Seg, 2004-11-22 ?s 07:31 +0000, Prof Brian Ripley escreveu:> The bug is in your (unstated) OS, probably in its locale handling. > Does not happen on Solaris, Linux or Windows for me. > > In any case, why not use as.Date? > > On Mon, 22 Nov 2004, Juan Santiago Ramseyer wrote: > > > strptime return wrong data?, look the R session. > > > > > > # datetxt: vector of date in text format > >> datetxt <- c("1939-Oct-06 00:00:00", "1939-Oct-07 00:00:00", > > "1939-Oct-08 00:00:00", "1939-Oct-09 00:00:00") > > > >> datehour <- strptime(datetxt,format= "%Y-%b-%d %H:%M:%S") > >> datehour > > [1] "1939-10-06 00:00:00" "1939-10-07 00:00:00" "1939-10-08 01:00:00" > > [4] "1939-10-09 00:00:00" > > > > # look value of datehour[3] element, where hour output equal 01:00:00, > > # but hour input equal 00:00:00. > > Is there a DST issue in your unstated timezone? >I run Fedora Core 3. In my computer, make> julian(datehour)Time differences of -11044.88, -11043.88, -11042.88, -11041.92 days When de answer is not integer value Juan.