Full_Name: Philip Gross
Version: 1.9.0
OS: Linux Redhat 9.0
Submission from: (NULL) (65.57.245.11)
Among the many conversions for POSIXct values, there does not seem to be one
which will accept an actual POSIX timestamp, e.g. as produced by MySQL's
UNIX_TIMESTAMP() function. I have fixed this by adding the following lines to
R-1.9.0/src/library/base/R/datetime.R , at line 89:
if(is.numeric(x))
return(structure(x, class = c("POSIXt", "POSIXct")))
I am far from an R guru, and this was done based on pattern matching the code.
It seems to work, though.
can't create a POSIXct from an actual Unix timestamp (PR#6975)
2 messages · phil@google.com, Brian Ripley
On Sun, 13 Jun 2004 phil@google.com wrote:
Full_Name: Philip Gross
Version: 1.9.0
OS: Linux Redhat 9.0
Submission from: (NULL) (65.57.245.11)
Among the many conversions for POSIXct values, there does not seem to be one
which will accept an actual POSIX timestamp, e.g. as produced by MySQL's
UNIX_TIMESTAMP() function. I have fixed this by adding the following lines to
R-1.9.0/src/library/base/R/datetime.R , at line 89:
if(is.numeric(x))
return(structure(x, class = c("POSIXt", "POSIXct")))
I am far from an R guru, and this was done based on pattern matching the code.
It seems to work, though.
This cannot be correct, as the numeric value could be the integer number of days after 1980-01-01, for example. This is a deliberate omission, but you will note (I hope) that R does handle actual Unix timestamps in e.g. Sys.time() and file.info(). (They use code equivalent to yours, *when* the interpretation of the number is known, *and* x is known to be double and not integer.) Note this is not a bug, and would not have been even if your suggestion had been correct. Please read the section on BUGS in the FAQ.
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