Como Cambiar la Zona Horaria en Linux

El primer paso para poder cambiar la zona horaria es comprobar la zona configurada del sistema operativo.

Para esto sera necesario comprobarlo con el siguiente comando


timedatectl
 

[root@69-49-228-136 ~]# timedatectl
Local time: Thu 2022-05-26 02:24:37 CDT
Universal time: Thu 2022-05-26 07:24:37 UTC
RTC time: Thu 2022-05-26 07:24:37
Time zone: America/Mexico_City (CDT, -0500)
NTP enabled: n/a
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2022-04-03 01:59:59 CST
Sun 2022-04-03 03:00:00 CDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2022-10-30 01:59:59 CDT
Sun 2022-10-30 01:00:00 CST
 
 En caso que la hora no coincida es probable que se deba a la zona horaria por lo que se tendra que cambiar por la zona en la que nos encontremos.
 Para esto tendremos que listar todas la zonas horaria registradas con el siguiente comando:
 
 timedatectl list-timezones
 
 Como se puede observar son demaciadas zonas horaria por lo que sera necesario filtrar unicamente las que necesitamos por ejemplo si queremos la zonas horarias del pacifico bastara con introducir el siguiente comando:
 
timedatectl list-timezones | grep Pacific 
 
En este caso usaremos la zona horaria de America/Mexico_City por lo que el siguiente paso sera hacer el cambio necesario con el siguiente comando:
 
timedatectl set-timezone America/Mexico_City
 
En caso de que este seleccionada la zona horaria pero la hora sea incorrecta el siguiente comando puede ayudarte a corregir este problema: 

timedatectl set-time 'YYYY-MM-DD HH:MM:SS'
 
Quedando de la siguiente forma:
timedatectl set-time '2022-03-16 09:20:00' 
 
 Otro método es utilizar hwclock:

ntpdate host.hddpool3.org
hwclock --systohc --utc 
 [root@localhost ~]# hwclock --set --date="4/21/2010 12:28:05"

El comando date muestra la hora y fecha actuales. 

Por ejemplo:

$ date
Sun Jul 14 21:53:41 EET DST 1996
$

Domingo, 14 de julio de 1996, alrededor de las 10 menos 10 de la noche, en la zona horaria llamada “"EET DST"” (la cual puede ser el "horario de verano" del Día del Este de Europa). date puede también mostrar la hora en forma universal:

$ date -u
Sun Jul 14 18:53:42 UTC 1996
$

date también se utiliza para establecer la hora del reloj del kernel:

# date 07142157
Sun Jul 14 21:57:00 EET DST 1996
# date
Sun Jul 14 21:57:02 EET DST 1996
#

Lea la página de manual de date si desea conocer mayores detalles; ya que la sintaxis es un poco complicada. Solo el usuario root puede modificar la fecha y/u hora. Aunque cada usuario puede definir su propia zona horaria, el reloj es el mismo para todos.


Date solo muestra o modifica el reloj de software. El comando clock sincroniza los relojes de hardware y software. Cuando el sistema inicia, el comando clock es utilizado para leer el reloj de hardware y actualizar el reloj de software. Si necesita modificar ambos relojes, primero debe modificar el reloj de software con date, y luego sincronizar la hora del reloj por hardware con el comando clock -w.

La opción -u en el comando lock le indica a clock que la fecha y hora (mostrada o definida) se encuentra en formato de hora universal. Debe utilizar la opción -u correctamente, en caso contrario, la computadora puede estar confundida sobre cual es la fecha y hora correcta.

Los relojes deben modificarse con cuidado y precisión. 

Muchas partes de un sistema UNIX requieren que los relojes trabajen correctamente. 

Por ejemplo, el demonio cron ejecuta comandos periódicamente. Si cambia el reloj, el sistema puede estar confundido en cuanto a la necesidad o no de ejecutar determinado comando. 

Hubo una vez, en un sistema UNIX antiguo, en donde alguien adelantó el reloj 20 años en el futuro, y entonces cron quiso ejecutar los comandos periódicos de veinte años, todos de una sola vez. 

Las versiones actuales de cron no tienen este problema, pero aún así debe ser cuidadoso con estos detalles (pueden existir otros programas actuales que trabajen similarmente mal como "ese" viejo cron). Grandes saltos en el tiempo (hacia el futuro o el pasado) son mas peligrosos que pequeñas diferencias.


Comentarios