Como cambiar la zona horaria en Linux desde una terminal

martes, abril 08, 2014 Publicado por: Oscar Meza


Cambiar la zona horaria de Linux desde una Terminal o línea de comandos es muy sencillo, bastan con ejecutar el comando "tzselect" y elegir nuestra zona horaria, por ejemplo supongamos que vivimos en Mexico y usamos la hora central, lo hacemos de la siguiente forma.

$ tzselect

Retorna un resultado como el siguiente.

Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
 1) Africa
 2) Americas
 3) Antarctica
 4) Arctic Ocean
 5) Asia
 6) Atlantic Ocean
 7) Australia
 8) Europe
 9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#?

Seleccionamos el número 2 que es Americas, luego el número 32 que es México y por último el número 1 que es el horario central.

Luego veremos una pantalla como la siguiente.

The following information has been given:

        Mexico
        Central Time - most locations

Therefore TZ='America/Mexico_City' will be used.
Local time is now:      Tue Apr  8 12:35:22 CDT 2014.
Universal Time is now:  Tue Apr  8 17:35:22 UTC 2014.
Is the above information OK?
1) Yes
2) No
#?

Si todo está correcto seleccionamos "1" y listo.

Ahora si queremos que este cambio se haga permanentemente entre reinicios de nuestra PC, agregamos la siguiente línea en nustro archivo .profile

TZ='America/Mexico_City'; export TZ

Otra forma de hacer lo mismo es con los siguientes comandos.

$ rm /etc/localtime
$ ln -s /usr/share/zoneinfo/America/Mexico_City /etc/localtime


7 comentarios:

  1. Excelente procedimiento, ejecuté los dos comandos y funcionó correcto. Gracias.

    ResponderEliminar
    Respuestas
    1. Que bueno te sirvio, gracias por compartir!

      Eliminar
  2. Hola, Alejandro..
    ¿Qué podrá ser que coloco una zona horaria, la reconoce pero no cambia la hora? Observa:

    The following information has been given:
    Chile
    most locations
    Therefore TZ='America/Santiago' will be used.
    Local time is now: Fri Aug 5 09:32:22 CLT 2016.
    Universal Time is now: Fri Aug 5 13:32:22 UTC 2016.

    [vapon02@mtboasprod5 ~]# date
    Fri Aug 5 09:02:44 VET 2016

    Sigue con un retraso de 30 min...
    ¿Qué podrá ser?

    Y gracias por esta información.. Invaluable y precisa...

    ResponderEliminar
    Respuestas
    1. Ya probaste abrir un nuevo terminal y verificar la hora?

      Eliminar
  3. actualiza tus tzdata tu sabes que acá las cambian todos los años.

    ResponderEliminar
  4. Revisa usando
    root@server:/tmp# timedatectl status

    te debe aparecer algo como esto
    Local time: lun 2016-04-25 11:54:56 VET
    Universal time: lun 2016-04-25 16:24:56 UTC
    RTC time: lun 2016-04-25 16:24:56
    Time zone: America/Caracas (VET, -0430)
    Network time on: yes
    NTP synchronized: no
    RTC in local TZ: no

    Si estan diferentes la zona puedes cambiarla con

    root@server:/tmp# dpkg-reconfigure tzdata

    ResponderEliminar