[R] Treatment of Date ODBC objects in R (RODBC)
Prof Brian Ripley
ripley at stats.ox.ac.uk
Mon Dec 22 23:31:23 CET 2008
On Mon, 22 Dec 2008, Peter Dalgaard wrote:
> Ivan Alves wrote:
>> Dear all,
>>
>> Retrieving an Oracle "Date" data type by means of RODBC (version 1.2-4) I
>> get different classes in R depending on which operating system I am in:
>>
>> On MacOSX I get "Date" class
>> On Windows I get " "POSIXt" "POSIXct" class
>>
>> The problem is material, as converting the "POSIXt" "POSIXct" object with
>> as.Date() returns one day less ("2008-12-17 00:00:00 CET" is returned as
>> "2008-12-16").
>
> This is in a sense correct since CET is one hour ahead of GMT (two hours in
> Summer). What is a bit puzzling is that
>
>> ISOdate(2008,12,24)
> [1] "2008-12-24 12:00:00 GMT"
>> class(ISOdate(2008,12,24))
> [1] "POSIXt" "POSIXct"
>> as.POSIXct("2008-12-24")
> [1] "2008-12-24 CET"
>> as.POSIXct("2008-12-24")+1
> [1] "2008-12-24 00:00:01 CET"
>
> I.e. we have two ways of converting a timeless date to POSIXct, and they
> differ in noon/midnight, and in whether local timezone matters or not.
>
> I believe Brian did this, and he usually does things for a reason....
Well, one is explicitly a way to set a date, and midday seems a good
choice as most timezones are within +/- 12 hours. OTOH as.POSIXct is
using a format with a missing time, and the POSIX convention is that that
missing times are zero.
The difference is between no time and missing time.
>
>
>>
>> I have 2 related questions:
>>
>> 1. Is there a way to control the conversion used by RODBC for types "Date"?
>> or is this controlled by the ODBC Driver (in my case the Oracle driver in
>> Windows and Actual on Mac OS X)?
>>
>> 2. What is the trick to get as.Date() to return the _intended_ date (the
>> date that the OS X environment "correctly" reads)?
>
> Add 12 hours, maybe? (43200 seconds)
>
> Or play around with the timezone, but that seems painful.
>
> --
> O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
> c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
> (*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
> ~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk) FAX: (+45) 35327907
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
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-help
mailing list