# [R] timeDate

Gabor Grothendieck ggrothendieck at myway.com
Wed Nov 24 03:38:56 CET 2004

```Yasser El-Zein <abu3ammar <at> gmail.com> writes:

:
: I am looking for up to the millisecond resolution. Is there a package
: that has that?
:
: On Mon, 22 Nov 2004 21:48:20 +0000 (UTC), Gabor Grothendieck
: <ggrothendieck <at> myway.com> wrote:
: > Yasser El-Zein <abu3ammar <at> gmail.com> writes:
: >
: > >
: > > >From the document it is apparent to me that I need as.POSIXct  (I have
: > > a double representing the number of millis since 1/1/1970 and I need
: > > to construct a datetime object). I see it showing how to construct the
: > > time object from a string representing the time but now fro a double
: > > of millis. Does anyone know hoe to do that?
: > >
: >
: > If by millis you mean milliseconds (i.e. one thousandths of a second)
: > then POSIXct does not support that resolution, but if rounding to
: > seconds is ok then
: >
: >   structure(round(x/1000), class = c("POSIXt", "POSIXct"))
: >
: > should give it to you assuming x is the number of milliseconds.

There is no package/class that represents times and dates
internally as milliseoncds since Jan 1, 1970.   You can
rework your data into chron's internal representation, viz.
day number plus fraction of day, like this:

# x is vector of milliseconds since Jan 1/70
# x.chron is corresponding chron date/time
# untested
library(chron)
ms.in.day <- 1000*24*60*60
day <- floor(x/ms.in.day)
frac <- (x-1000*day)/ms.in.day
x.chron <- chron(day+frac)

If you need to take leap seconds into account (which the above
does not) then note that R comes with a builtin vector called
leap.seconds.

```