2009-09-08 6 views

Respuesta

11

En primer lugar, convertir la hora de Londres a un objeto POSIXct:

pb.txt <- "2009-06-03 19:30" 
pb.date <- as.POSIXct(pb.txt, tz="Europe/London") 

A continuación, utilice format para imprimir la fecha en otra zona horaria:

> format(pb.date, tz="America/Los_Angeles",usetz=TRUE) 
[1] "2009-06-03 11:30:00 PDT" 

hay algunos trucos para encontrar el momento adecuado identificador de zona a usar. Más detalles en esta entrada en el blog de revoluciones: Converting time zones in R: tips, tricks and pitfalls

+0

El formato convertirá el objeto posix a un personaje. – obesechicken13

+0

¿Esta conversión se ocupa de los ajustes de ahorro de luz diurna? –

+0

Sí hace el incremento/decremento apropiado si la ubicación está en la base de datos de la zona horaria. –

39

En el atributo tzone de un objeto 'POSIXct':

> pb.txt <- "2009-06-03 19:30" 
> pb.date <- as.POSIXct(pb.txt, tz="Europe/London") 
> attributes(pb.date)$tzone <- "America/Los_Angeles" 
> pb.date 
[1] "2009-06-03 11:30:00 PDT" 

Tenga en cuenta que esto sigue siendo un objeto POSIXct, tzone ha cambiado, y el desplazamiento correcto tiene ha aplicado:

> attributes(pb.date) 
$class 
[1] "POSIXct" "POSIXt" 

$tzone 
[1] "America/Los_Angeles" 
+0

No se olvide de consultar el enlace publicado en los comentarios de la respuesta aceptada (http://blog.revolution-computing.com/2009/06/converting-time-zones.html). ¡Utilicé EST y pensé que esta respuesta no funcionaba! – kaoD

16

paquete lubridate lleva a cabo dos funciones para convertir zonas horarias. De acuerdo con las páginas de ayuda:


force_tz devuelve una fecha-hora que tiene el mismo tiempo de reloj como x en la nueva zona horaria.

force_tz(time, tzone = "America/Los_Angeles") 


with_tz cambia la zona horaria en la que se muestra un instante. La hora del reloj que se muestra para el instante cambia, pero el momento del tiempo descrito sigue siendo el mismo.

with_tz(time, tzone = "America/Los_Angeles") 
+2

mucho más limpio que otros métodos. –

Cuestiones relacionadas