Como cambiar la zona horaria en Linux desde una terminal

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 México 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 Américas, 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 nuestro 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

11 comentarios en «Como cambiar la zona horaria en Linux desde una terminal»

  1. A mí me pasaba lo mismo, pero agregue en mi archivo .profile la variable:

    TZ='America/Mexico_City'; export TZ

    y después un source .profile para recargar los cambios , woala!!! todo trabajando perfectamente!!! 🙂

    Saludos.

  2. Tengo un CDR que viene en UTM y las lines traen ese horario, como lo puedo cambiar para que me ponga la hora local.
    Alguna idea?

    6.5|2017-09-10T12:58:36.734+0000|2017-09-10T12:58:36.734+0000|882646308944200523|1|1|86904943|525568580949|PREPAID|ACTIVE||3|NONE|OK||6.5|topup||||POS|||||49475810||VOUCHER|103015|15833702|103015|50000000||Pesos||2027-09-08T12:58:36.731+0000|2027-09-08T12:58:36.731+0000|OK|

  3. 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

  4. 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…

Deja un comentario