61 votes

Comment changer le fuseau horaire par défaut dans R ?

Comment puis-je changer le fuseau horaire par défaut dans R ? Je travaille avec des séries temporelles. Toutes mes séries temporelles sont définies dans le fuseau horaire UTC, mais si j'imprime une date, cela se fait toujours dans le fuseau horaire CET/CEST.

86voto

Paul PUGET Points 346

Une autre façon de le faire, sans changer tout le temps de l'ordinateur, consiste à utiliser la commande setenv comme ceci : Sys.setenv(TZ='GMT')

13voto

yuk Points 13497

Voir ce bon article sur le changement de fuseau horaire dans R :

http://blog.revolutionanalytics.com/2009/06/converting-time-zones.html

En bref (au cas où le lien ne serait plus disponible à l'avenir) :

 # your time string
pb.txt <- "2009-06-03 19:30"
# convert it to R object for London time zone
pb.date <- as.POSIXct(pb.txt, tz="Europe/London")
# convert it to PDT time zone
format(pb.date, tz="America/Los_Angeles",usetz=TRUE)
[1] "2009-06-03 11:30:00 PDT"

# can be also done for many date at once
d <- c("2009-03-07 12:00", "2009-03-08 12:00", "2009-03-28 12:00", "2009-03-29 12:00", "2009-10-24 12:00", "2009-10-25 12:00", "2009-10-31 12:00", "2009-11-01 12:00")
t1 <- as.POSIXct(d,"America/Los_Angeles")
cbind(US=format(t1),UK=format(t1,tz="Europe/London"))

     US                    UK                   
[1,] "2009-03-07 12:00:00" "2009-03-07 20:00:00"
[2,] "2009-03-08 12:00:00" "2009-03-08 19:00:00"
[3,] "2009-03-28 12:00:00" "2009-03-28 19:00:00"
[4,] "2009-03-29 12:00:00" "2009-03-29 20:00:00"
[5,] "2009-10-24 12:00:00" "2009-10-24 20:00:00"
[6,] "2009-10-25 12:00:00" "2009-10-25 19:00:00"
[7,] "2009-10-31 12:00:00" "2009-10-31 19:00:00"
[8,] "2009-11-01 12:00:00" "2009-11-01 20:00:00"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X