Vous voulez le (standard) POSIXt
type de la base R qui peut être obtenu sous forme compacte en tant qu'album. POSIXct
(qui est essentiellement un double représentant les secondes fractionnelles depuis l'époque) ou sous forme longue dans POSIXlt
(qui contient des sous-éléments). Ce qui est cool, c'est que les fonctions arithmétiques, etc. sont définies sur cette base -- cf. help(DateTimeClasses)
Un exemple rapide :
R> now <- Sys.time()
R> now
[1] "2009-12-25 18:39:11 CST"
R> as.numeric(now)
[1] 1.262e+09
R> now + 10 # adds 10 seconds
[1] "2009-12-25 18:39:21 CST"
R> as.POSIXlt(now)
[1] "2009-12-25 18:39:11 CST"
R> str(as.POSIXlt(now))
POSIXlt[1:9], format: "2009-12-25 18:39:11"
R> unclass(as.POSIXlt(now))
$sec
[1] 11.79
$min
[1] 39
$hour
[1] 18
$mday
[1] 25
$mon
[1] 11
$year
[1] 109
$wday
[1] 5
$yday
[1] 358
$isdst
[1] 0
attr(,"tzone")
[1] "America/Chicago" "CST" "CDT"
R>
Pour les lire, voir help(strptime)
Quant à la différence, c'est facile aussi :
R> Jan1 <- strptime("2009-01-01 00:00:00", "%Y-%m-%d %H:%M:%S")
R> difftime(now, Jan1, unit="week")
Time difference of 51.25 weeks
R>
Enfin, le forfait zoo est un conteneur extrêmement polyvalent et bien documenté pour les matrices avec des indices de date/heure associés.