Documentation for a newer release is available. View Latest

Configurar la Fecha y la Hora

Los sistemas operativos modernos distinguen entre los dos siguientes tipos de relojes:

  • Un reloj de tiempo real (RTC), al que normalmente nos referimos como reloj hardware, (típicamente un circuito integrado en la tarjeta base del sistema) que es completamente independiente del estado en ese momento del sistema operativo y corre aún cuando el ordenador esté apagado.

  • Un reloj del sistema, también conocido como reloj software, que es mantenido por el kernel y su valor inicial se basa en el reloj de tiempo real. Una vez que el sistema arranca y el reloj del sistema se ha inicializado, el reloj del sistema es completamente independiente del reloj de tiempo real.

El sistema se mantiene siempre en Hora Coordinada Universal (UTC) y se convierten en la aplicaciones a hora local cuando es necesario. Hora local es la hora en el actual en su zona horaria, teniendo en cuenta el horario de verano (DST). El reloj de tiempo real puede usar tanto como UTC como hora local. Se recomienda UTC.

29 ofrece tres herramientas de línea de comandos que pueden ser usadas para configurar y mostrar información sobre la fecha y la hora del sistema: la utilidad timedatectl, que es nueva en 29 y es parte de systemd; el tradicional comando date y la utilidad hwclock para acceso al reloj hardware.

Utilizando el Comando timedatectl

La utilidad timedatectl se distribuye como parte del administrador del sistema y los servicios systemd y le permite revisar y cambiar la configuración del reloj del sistema. Usted puede usar esta herramienta para cambiar la fecha y hora actual, fijar la zona horaria o habilitar la sincronización automática del reloj del sistema con un servidor remoto.

Para información sobre como visualizar la fecha y hora actual en un formato personalizado vea también Utilizando el Comando date.

Visualizando la Fecha y la Hora Actual

Para visualizar la fecha y hora actual así como información detallada sobre la configuración del reloj del sistema y del reloj hardware ejecute el comando timedatectl sin opciones de línea de comandos adicionales:

timedatectl

Esto muestra la hora local y universal, la zona horaria utilizada, el estado de la configuración del Protocolo de Hora en Red (NTP) e información adicional relativa a DST.

Ejemplo 1. Visualizando la Fecha y la Hora Actual

Lo siguiente es un ejemplo de la salida del comando timedatectl sobre un sistema que no usa NTP para sincronizar el reloj del sistema con un servidor remoto:

~]$ timedatectl
      Local time: Mon 2013-09-16 19:30:24 CEST
  Universal time: Mon 2013-09-16 17:30:24 UTC
        Timezone: Europe/Prague (CEST, +0200)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: yes
 Last DST change: DST began at
                  Sun 2013-03-31 01:59:59 CET
                  Sun 2013-03-31 03:00:00 CEST
 Next DST change: DST ends (the clock jumps one hour backwards) at
                  Sun 2013-10-27 02:59:59 CEST
                  Sun 2013-10-27 02:00:00 CET

Cambiando la Hora Actual

Para cambiar la hora actual, teclee lo siguiente en el símbolo del sistema como root:

timedatectl set-time HH:MM:SS

Reemplace HH con una hora, MM con unos minutos y and SS con unos segundos, todo tecleado en un formato de dos dígitos.

Este comando actualiza tanto el reloj del sistema como el reloj hardware. El resultado es similar a la utilización de los comandos date --set y hwclock --systohc.

El comando fallará si hay habilitado un servicio NTP. Vea Sincronizando el Reloj del Sistema con un Servidor Remoto para deshabilitar temporalmente el servicio.

Ejemplo 2. Cambiando la Hora Actual

Para cambiar la hora actual a 11:26 p.m., ejecute el siguiente comando como root:

~]# timedatectl set-time 23:26:00

De forma predeterminada el sistema está configurado para usar UTC. Para configurar su sistema para mantener el reloj en la hora local ejecute el comando timedatectl con la opción set-local-rtc como root:

timedatectl set-local-rtc boolean

Para configurar su sistema para que mantenga el reloj en la hora local reemplace boolean con yes (o alternativamente, y, true, t o 1). Para cofigurar el sistema para usar UTC reemplace boolean con no (o alternativamente`n`, false, f o 0). La opción predeterminada es no.

Cambiar la Hora Actual

Para cambiar la hora actual, teclee lo siguiente en el símbolo del sistema como root:

timedatectl set-time HH:MM:SS

Reemplace YYYY con un año de cuatro dígitos, MM con un mes de dos dígitos y DD con un día del mes de dos dígitos.

Advierta que el cambio de la fecha sin especificar la hora actual establecerá la hora en 00:00:00.

Ejemplo 3. Cambiar la Hora Actual

Para cambiar la fecha actual a 2 June 2013 y mantener la hora (11:26 p.m.) ejecute el siguiente comando como root:

~]# timedatectl set-time "2013-06-02 23:26:00"

Cambiando la Zona Horaria

Para lista todas las zonas horarias disponibles teclee en el símbolo del sistema:

timedatectl list-timezones

Para cambiar la zona horaria usada teclee como root:

timedatectl set-timezone zona_horaria

Reemplace zona_horaria con cualquiera de los valores listados por el comando timedatectl list-timezones command.

Ejemplo 4. Cambiando la Zona Horaria

Para identificar que zona horaria está más cerca de su localización actual use el comando timedatectl con la opción de línea de comandos list-timezones. Por ejemplo, para listar todas las zona en Europa teclee:

~]# timedatectl list-timezones | grep Europe
Europe/Amsterdam
Europe/Andorra
Europe/Athens
Europe/Belgrade
Europe/Berlin
Europe/Bratislava

Para cambiar la zona a Europe/Prague`teclee como `root:

~]# timedatectl set-timezone Europe/Prague

Sincronizando el Reloj del Sistema con un Servidor Remoto

Al contrario de los ajustes manuales descritos en las secciones anteriores el comando timedatectl también le permite habilitar la sincronización automática de su reloj del sistema con un grupo de servidores remotos usando el protocolo NTP. Habilitando NTP habilita el servicio chronyd o ntpd dependiendo de cual de ellos esté instalado.

El servicio NTP puede ser habilitado y deshabilitado usando un comando como sigue:

timedatectl set-ntp boolean

Para habilitar que su sistema sincronice el reloj del sistema con un servidor NTP remoto reemplace boolean con yes (la opción predeterminada). Para deshabilitar esta función reemplace boolean con no.

Ejemplo 5. Sincronizando el Reloj del Sistema con un Servidor Remoto

Para habilitar la sincronización automática del sistema con un servidor remoto teclee:

~]# timedatectl set-ntp yes

El comando fallará si el servicio NTP no está instalado. Vea, para más información, Instalando chrony.

Usar el Comando date

La utilidad date está disponible en todos los sistemas Linux y le permite visualizar y configurar la fecha y hora actual. Se utliza frecuentemente en scripts para visualizar información detallado sobre el reloj del sistema en un formado personalizado.

Para información sobre como cambiar la zona horaria o habilitar la sincronización automática del reloj del sistema con un servidor remoto, vea Usando el Comando timedatectl.

Visualizando la Fecha y la Hora Actual

Para visualizar la fecha y la hora actual, ejecute el comando date sin opciones adicionales de linea de comandos:

date

Esto muestra el día de la semana seguido de la fecha actual, la hora local, la zona horaria abreviada y el año.

De forma predeterminada, el comando date muestra la hora local. Para visualizar la hora en UTC, ejecute el comando con la opción de línea de comandos --utc o -u:

date --utc

Usted también puede personalizar el formato de la información mostrada proporcionando la opción [option]`+"format"`en la línea de comandos:

date +"format"

Reemplace format con una o más de las secuencias de control que se ilustran en Visualizando la Fecha y Hora Actual. Vea en Secuencias de Control Usadas Comúnmente una lista de las opciones de formateo usadas más frecuentemente o en la página de manual date(1) una lista completa de estas opciones.

Table 1. Secuencias de Control Usadas Comúnmente
Secuencia de Control Descripción

%H

La hora en formato HH (por ejemplo, 17).

%M

Los minutos en formato MM (por ejemplo, 30).

%S

Los segundos en formato SS (por ejemplo, 24).

%d

El día del mes en formato DD (por ejemplo, 16).

%m

El mes en formato MM (por ejemplo, 09).

%Y

El año en formato YYYY (por ejemplo, 2013).

%Z

La abreviatura de zona horaria (por ejemplo, CEST).

%F

La fecha completa en formato YYYY-MM-DD (por ejemplo, 2013-09-16). Esta opción es igual a %Y-%m-%d.

%T

La hora completa en formato HH:MM:SS (por ejemplo, 17:30:24). Esta opción es igual a %H:%M:%S

Ejemplo 6. Visualizando la Fecha y la Hora Actual

Para visualizar la fecha y la hora actual teclee lo siguiente en el símbolo del sistema:

~]$ date
Mon Sep 16 17:30:24 CEST 2013

Para visuaizar la fecha y la hora actual en UTC teclee lo siguiente en el símbolo del sistema:

~]$ date --utc
Mon Sep 16 15:30:34 UTC 2013

Para personalizar la salida del comando date teclee:

~]$ date +"%Y-%m-%d %H:%M"
2013-09-16 17:30

Cambiando la Hora Actual

Para cambiar la hora actual ejecute el comando date con la opción --set o -s como root:

date --set HH:MM:SS

Reemplace HH con una hora, MM con unos minutos y and SS con unos segundos, todo tecleado en un formato de dos dígitos.

De forma predeterminada, el comando date establece el reloj del sistema en la hora local. Para establecer el reloj del sistema en UTC ejecute el comando con la opción de línea de comando --utc o -u:

date --set HH:MM:SS --utc
Ejemplo 7. Cambiando la Hora Actual

Para cambiar la hora actual a 11:26 p.m., ejecute el siguiente comando como root:

~]# date --set 23:26:00

Cambiar la Hora Actual

Para cambiar la fecha actual ejecute el comando date con la opción --set o -s como root:

date --set YYYY-MM-DD

Reemplace YYYY con un año de cuatro dígitos, MM con un mes de dos dígitos y DD con un día del mes de dos dígitos.

Advierta que el cambio de la fecha sin especificar la hora actual establecerá la hora en 00:00:00.

Ejemplo 8. Cambiar la Hora Actual

Para cambiar la fecha actual a 2 June 2013 y mantener la hora (11:26 p.m.) ejecute el siguiente comando como root:

~]# date --set 2013-06-02 23:26:00

Utilizando el Comando hwclock

hwclock es una utilidad para acceder al reloj hardware, también llamado Reloj de Hora Real (RTC). El reloj hardware es independiente del sistema operativo que utilice y trabaja aunque la máquina esté apagada. Esta utilidad se usa para visualizar la hora desde el reloj hardware. hwclock también contiene facilidades para compensar la desviación sistemática en el reloj hardware.

El reloj hardware almacena los valores de : año, mes, día, hora, minuto y segundo. No es capaz de almacenar la hora estándar, la hora local o la Hora Universal Coordinada (UTC), ni establecer Horario de Verano (DST).

La utilidad hwclock almacena sus ajustes en la archivo /etc/adjtime que se cre/a con el primer cambio que usted haga, por ejemplo, cuando establece la hora manualmente o sincroniza el reloj hardware con la hora del sistema.

En Fedora 6, el comando hwclock será ejecutado automáticamente en cada apagado o reinicio del sistema, pero no en 29. Cuando el reloj del sistema es sincronizado por el Protocolo de Hora en Red (NTP) o el Protocolo de Precisión de Hora (PTP), el kernel sincroniza automáticamente el reloj hardware con el reloj del sistema cada 11 minutos.

Para detalles sobre NTP, vea Configurando NTP Utilizando la Suite chrony y Configurando NTP Utilizando ntpd. Para información sobre PTP, vea Configurando PTP Utilizando ptp4l. Para información sobre el ajuste del reloj hardware después de ejecutar ntpdate vea Configurando la Actualización del Reloj Hardware.

Visualizando la Fecha y la Hora Actual

Ejecutando hwclock sin opciones de línea de comandos como root se devuelve la fecha y hora en tiempo local a la salida estándar.

hwclock

Advierta que usando las opciones --utc o --localtime con el comando hwclock no significa que usted está visualizando la hora del reloj hardware clock en UTC u hora local. Estas opciones se utilizan para establecer que el reloj hardware se mantenga en cualquiera de ellas. La hora se muestra siempre en hora local. Adicionalmente, utilizando los comandos hwclock --utc o hwclock --local no cambia lo guardado en el archivo /etc/adjtime. Este comando puede ser útil cuando sabe que el ajuste almacenado en /etc/adjtime es incorrecto pero no desea cambiar el ajuste. Por otro lado, puede recibir información engañoza si utiliza el comando de forma incorrecta. Vea mas detalla en la página de manual hwclock(8).

Ejemplo 9. Visualizando la Fecha y la Hora Actual

Para visualiza la fecha y hora actual desde el reloj hardware ejecute como root:

~]# hwclock
Tue 15 Apr 2014 04:23:46 PM CEST     -0.329272 seconds

CEST es una abreviatura de zona horaria y se refiere a la Hora de Verano en Europa Central.

Para información sobre como cambiar la zona horaria vea Cambiando la Zona Horaria.

Estableciendo la Fecha y la Hora

Además de visualiza la fecha y la hora, usted puede establecer el reloj hardware en una hora específica.

Cuando usted necesite cambiar la fecha y la hora del reloj hardware, puede hacer esto añadiendo las opciones --set y --date junto con su especificació:

hwclock --set --date "dd mmm yyyy HH:MM"

Reemplace dd con un día (un número de dos dígitos), mmm con un mes (una abreviatura de tres letras), yyyy con un año (un número de cuatro dígitos), HH con una hora (un número de dos dígitos), MM con unos minutos (un número de dos dígitos).

A la vez usted puede establecer también que el reloj hardware mantenga la hora o en UTC o en hora local añadiendo las opciones --utc o --localtime respectivamente. En este caso UTC o LOCAL se guarda en el archivo /etc/adjtime.

Ejemplo 10. Ajustando el Reloj Hardware en una Fecha y Hora Específica

Si desea establecer la fecha y la hora en un valor específico, por ejemplo, "`21 de Octubre de 2014 a las 21:17" y mantener el reloj hardware en UTC, ejecute el comando como root de la siguiente forma:

~]# hwclock --set --date "21 Oct 2014 21:17" --utc

Sincronizando la Fecha y la Hora

Usted puede sincronizar el reloj hardware a la hora actual del sistema en ambas direcciones.

  • Puede establecer el reloj hardware a la hora actual del sistema usando este comando:

    hwclock --systohc

    Advierta que si usted usa NTP el reloj hardware se actualiza automáticamente al reloj del sistema cada 11 minutos y este comando solo es útil en el momento del arranque para obtener una hora inicial del sistema razonable.

  • O puede establecer la hora del sistema desde el reloj hardware utilizando el siguiente comando:

    hwclock --hctosys

Cuando usted sincroniza el reloj hardware y la hora del sistema también puede especificar si desea mantener el reloj harware en hora local o UTC añadiendo la opción --utc o --localtime. Del mismo modo la utilización de --set, UTC o LOCAL se almacena en el archivo /etc/adjtime.

El comando hwclock --systohc --utc es funcionalmente similar al comando timedatectl set-local-rtc false y el comando hwclock --systohc --local es una alternativa a timedatectl set-local-rtc true.

Ejemplo 11. Sincronizando el Reloj Hardware con la Hora del Sistema

Para establecer el reloj hardware a la hora actual del sistema y mantener el reloj hardware en hora local ejecute el siguiente comando como root:

~]# hwclock --systohc --localtime

Para evitar problemas con la conmutación entre zona horaria y DST se recomienda mantener el reloj hardware en UTC. Lo mostrado en Sincronizando el Reloj Hardware con la Hora del Sistema es útil, por ejemplo, en caso de arranque múltiple con un sistema Windows que asume que el reloj hardware corre en hora local de modo predeterminado y todos los otros sistema necesitan acomodarse a el usando la hora local también. Puede ser necesario también con una maquina virtual; si el reloj hardware virtual proporcionado por el host está corriendo en hora local el sistema invitado es necesario que se configure para usar hora local también.

Recursos Adicionales

Para más información sobre cómo configurar la fecha y la hora en 29 vea los recursos que se listan a continuación.

Documentación Instalada
  • timedatectl(1) — La página de manual de la utilidad de línea de comandos timedatectl documenta como usar esta herramienta para consultar y cambiar el reloj del sistema y sus ajustes.

  • date(1) — La página de manual del comando date que proporciona una lista completa de las opciones de línea de comando.

  • hwclock(8) — La página de manual del comando hwclock proporciona una lista completa de las opciones de línea de comando soportadas.

Vea También