Je trace et effectue des calculs sur des séries chronologiques uniformément réparties. Les horodatages sont actuellement stockés sous forme d’entiers représentant le nombre de secondes écoulées depuis l’époque UNIX (par exemple, 1352068320
), mais les objets Date
semblent plus appropriés pour le traçage. Comment puis-je faire la conversion?
J'ai lu ?Date
, ?as.Date
et ??epoch
, mais semble avoir manqué cette information.
Allez via POSIXct
et vous voulez définir un TZ
ici - vous voyez mon défaut (Chicago):
R> val <- 1352068320
R> as.POSIXct(val, Origin="1970-01-01")
[1] "2012-11-04 22:32:00 CST"
R> as.Date(as.POSIXct(val, Origin="1970-01-01"))
[1] "2012-11-05"
R>
Edit: Quelques années plus tard, nous pouvons maintenant utiliser le package à tout moment :
R> library(anytime)
R> anytime(1352068320)
[1] "2012-11-04 16:32:00 CST"
R> anydate(1352068320)
[1] "2012-11-04"
R>
Notez comment tout cela fonctionne sans aucun format ni aucun argument d'origine .
Dans la bibliothèque de lecture, la date et l’heure sont enregistrées sous forme de nombre de secondes depuis le 1970-01-01 00:00:00 UTC. Donc tu peux faire
library(lubridate)
as_datetime(1352068320)
[1] "2012-11-04 22:32:00 UTC"