[R] timeDate

Gabor Grothendieck ggrothendieck at myway.com
Wed Nov 24 13:49:18 CET 2004


Gabor Grothendieck <ggrothendieck <at> myway.com> writes:

: 
: 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)

Not sure why I made the above so complicated but it can
be written just as:

        library(chron)
        ms.in.day <- 1000*24*60*60
        x.chron <- chron(x/ms.in.day)

: 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.




More information about the R-help mailing list