[R] RODBC & POSIX & Daylight Saving blues

Bernie McConnell
Thu, 11 Nov 2004 10:58:46 -0000

Dear All,

The recent improvement in RODBC to recognize datetimes in tables has
exposed my ongoing confusion.

All my data are obtained from a satellite system (Argos) which tags events
in the GMT time zone.  Daylight saving is ignored.  To my way of thinking
this means that

   1.  twelve-o-clock means halfway through the day regardless of season, and
   2.  the difftime of any two dates where the time is set to
twelve-o-clock should be an integer, regardless of which season each of the
dates are in.

I illustrate my confusion with a two-line table in an Access 2000 database
table where the single field called 'theDate' contains the two values:

30/07/04 12:00:00
30/11/04 12:00:00

then I bring the datetimes into R with the following code:

 > library (RODBC)
 > theChannel <- odbcConnect("phonetagcopy", "",
"")
 > pp <- sqlFetch(theChannel, "DateTest")
 > odbcClose(theChannel)
 > pp$theDate
[1] "2004-07-30 12:00:00 GMT Daylight Time"
[2] "2004-11-30 12:00:00 GMT Standard Time"
 >
 > unclass(pp$theDate) / 86400
[1] 12629.46 12752.50
attr(,"tzone")
[1] ""
 >
 > difftime (pp$theDate[1], pp$theDate[2])
Time difference of -123.0417 days

It appears that sqlFetch has (in this case wrongly) assumed that my
datetimes are corrected for Daylight Saving.  How can I persuade it to
accept that all my datetimes are in straight GMT?

OS:Win2000
R 2.0.0
RODBC version 1.1-2
Sys.getlocale()
[1] "LC_COLLATE=English_United Kingdom.1252;LC_CTYPE=English_United
Kingdom.1252;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=English_United
Kingdom.1252"
 >


Many thanks

Bernie McConnell

Sea Mammal Research Unit
University of St Andrews