Documentation for a newer release is available. View Latest

Configuración de Fecha y Hora

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

  • Un reloj de tiempo real (RTC), comúnmente llamado reloj hardware, (normalmente un circuito integrado en la tarjeta del sistema) este es completamente independiente del estado actual del sistema operativo y corre aunque el ordenador esté apagado.

  • Un reloj de sistema, también conocido como reloj software, esto es mantenido por el núcleo y su valor inicial e base en el reloj de tiempo real. Una vez que el sistema ha arrancado y el reloj del sistema inicializado este es completamente independiente del reloj de tiempo real.

La hora del sistema siempre se mantiene en Hora Universal Coordinada (UTC) y se convierte en aplicaciones a la hora local cuando se necesita. Hora local es la hora actual en su zona horaria, teniendo en cuenta _horario de verano/invierno _ (DST). El reloj de hora real puede usar UTC u hora local. Se recomienda UTC.

Fedora Rawhide ofrece tres herramientas de linea de comando que pueden ser usadas para configurar y visualizar información sobre la fecha y hora del sistema: la utilidad timedatectl utility, que es nueva en Fedora Rawhide y es parte de systemd; el tradicional comando date y la utilidad hwclock para acceder al reloj hardware.

Usando el Comando timedatectl

La utilidad timedatectl se distribuye como parte del administrador del sistema y de servicio systemd y le permite revisar y cambiar la configuración del reloj del sistema. Puede usar esta herramienta para cambiar la fecha y hora actual, ajustar 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 Usando el Comando date.

Mostrando la Fecha y Hora Actual

Para visualizar la fecha y hora actual junto con información detallada sobre la configuración del sistema y el reloj hardware, ejecute el comando timedatectl sin opciones de linea de comandos adicionales:

timedatectl

Esto muestra la hora local y universal, la zona horaria en uso, el estado de la configuración del Protocolo de Hora en Red (NTP) e información adicional relacionado con el horario de verano.

Example 1. Mostrando la Fecha y Hora Actual

Lo siguiente es un ejemplo de la salida del comando timedatectl en un sistema que no utiliza 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

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 HH con la hora, MM con el minuto y SS con el segundo, todo tecleado en formato de dos dígitos.

Este comando actualiza tanto la hora del sistema como el reloj hardware. El resultado es similar a utilizar a la vez 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.

Example 2. Cambiar la Hora Actual

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

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

Por defecto, el sistema está configurado para usar UTC. Para configurar tu sistema y mantener el reloj con la hora local, ejecuta el comando timedatectl con la opción set-local-rtc como root:

timedatectl set-local-rtc boolean

Para configurar el sistema y mantener el reloj con la hora loca, reemplazar boolean con yes (o alternativamente y, true, t, o 1). Para configurar el sistema para que use UTC, reemplazar boolean con no (o alternativamente, n, false, f, or 0). Por defecto la opción es no.

Cambiando la fecha actual

To change the current date, type the following at a shell prompt as root:

timedatectl set-time YYYY-MM-DD

Replace YYYY with a four-digit year, MM with a two-digit month, and DD with a two-digit day of the month.

Note that changing the date without specifying the current time results in setting the time to 00:00:00.

Example 3. Cambiando la fecha actual

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

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

Changing the Time Zone

To list all available time zones, type the following at a shell prompt:

timedatectl list-timezones

To change the currently used time zone, type as root:

timedatectl set-timezone time_zone

Replace time_zone with any of the values listed by the timedatectl list-timezones command.

Example 4. Changing the Time Zone

To identify which time zone is closest to your present location, use the timedatectl command with the list-timezones command line option. For example, to list all available time zones in Europe, type:

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

To change the time zone to Europe/Prague, type as root:

~]# timedatectl set-timezone Europe/Prague

Synchronizing the System Clock with a Remote Server

En contraposición a los ajustes manuales descritos en la sección anterior, el timedatectl comando también te permite habilitar la sincronización automática del reloj de tu sistema con un grupo de servidores remotos usando el protocolo NTP. Habilitando NTP, habilitas chronyd o el servicio ntpd, dependiendo de cual de ellos está instalado.

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

timedatectl set-ntp boolean

To enable your system to synchronize the system clock with a remote NTP server, replace boolean with yes (the default option). To disable this feature, replace boolean with no.

Example 5. Synchronizing the System Clock with a Remote Server

To enable automatic synchronization of the system clock with a remote server, type:

~]# timedatectl set-ntp yes

The command will fail if an NTP service is not installed. See Installing chrony for more information.

Using the date Command

The date utility is available on all Linux systems and allows you to display and configure the current date and time. It is frequently used in scripts to display detailed information about the system clock in a custom format.

For information on how to change the time zone or enable automatic synchronization of the system clock with a remote server, see Using the timedatectl Command.

Mostrando la Fecha y Hora Actual

To display the current date and time, run the date command with no additional command line options:

date

This displays the day of the week followed by the current date, local time, abbreviated time zone, and year.

By default, the date command displays the local time. To display the time in UTC, run the command with the --utc or -u command line option:

date --utc

También puedes personalizar el formato de la información mostrada proporcionando la opción +"format" en la linea de comandos:

fecha +"formato"

Replace format with one or more supported control sequences as illustrated in Displaying the Current Date and Time. See Commonly Used Control Sequences for a list of the most frequently used formatting options, or the date(1) manual page for a complete list of these options.

Table 1. Commonly Used Control Sequences
Control Sequence Description

%H

The hour in the HH format (for example, 17).

%M

The minute in the MM format (for example, 30).

%S

The second in the SS format (for example, 24).

%d

The day of the month in the DD format (for example, 16).

%m

The month in the MM format (for example, 09).

%Y

The year in the YYYY format (for example, 2013).

%Z

The time zone abbreviation (for example, CEST).

%F

The full date in the YYYY-MM-DD format (for example, 2013-09-16). This option is equal to %Y-%m-%d.

%T

The full time in the HH:MM:SS format (for example, 17:30:24). This option is equal to %H:%M:%S

Example 6. Mostrando la Fecha y Hora Actual

To display the current date and local time, type the following at a shell prompt:

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

To display the current date and time in UTC, type the following at a shell prompt:

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

To customize the output of the date command, type:

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

Cambiar la Hora Actual

To change the current time, run the date command with the --set or -s option as root:

date --set HH:MM:SS

Reemplace HH con la hora, MM con el minuto y SS con el segundo, todo tecleado en formato de dos dígitos.

By default, the date command sets the system clock to the local time. To set the system clock in UTC, run the command with the --utc or -u command line option:

date --set HH:MM:SS --utc
Example 7. Cambiar la Hora Actual

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

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

Cambiando la fecha actual

Para cambiar la fecha actual, ejecuta el comando date con la opción --set o -s:

date --set YYYY-MM-DD

Replace YYYY with a four-digit year, MM with a two-digit month, and DD with a two-digit day of the month.

Note that changing the date without specifying the current time results in setting the time to 00:00:00.

Example 8. Cambiando la fecha actual

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

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

Using the hwclock Command

hwclock is a utility for accessing the hardware clock, also referred to as the Real Time Clock (RTC). The hardware clock is independent of the operating system you use and works even when the machine is shut down. This utility is used for displaying the time from the hardware clock. hwclock also contains facilities for compensating for systematic drift in the hardware clock.

The hardware clock stores the values of: year, month, day, hour, minute, and second. It is not able to store the time standard, local time or Coordinated Universal Time (UTC), nor set the Daylight Saving Time (DST).

The hwclock utility saves its settings in the /etc/adjtime file, which is created with the first change you make, for example, when you set the time manually or synchronize the hardware clock with the system time.

In Fedora 6, the hwclock command was run automatically on every system shutdown or reboot, but it is not in Fedora Rawhide. When the system clock is synchronized by the Network Time Protocol (NTP) or Precision Time Protocol (PTP), the kernel automatically synchronizes the hardware clock to the system clock every 11 minutes.

For details about NTP, see Configuring NTP Using the chrony Suite and Configuring NTP Using ntpd. For information about PTP, see Configuring PTP Using ptp4l. For information about setting the hardware clock after executing ntpdate, see Configuring the Hardware Clock Update.

Mostrando la Fecha y Hora Actual

Ejecutando el comando hwclock sin ninguna opción como usuario root, devuelve la fecha y hora en tiempo local a salida estándar.

hwclock

Note that using the --utc or --localtime options with the hwclock command does not mean you are displaying the hardware clock time in UTC or local time. These options are used for setting the hardware clock to keep time in either of them. The time is always displayed in local time. Additionally, using the hwclock --utc or hwclock --local commands does not change the record in the /etc/adjtime file. This command can be useful when you know that the setting saved in /etc/adjtime is incorrect but you do not want to change the setting. On the other hand, you may receive misleading information if you use the command an incorrect way. See the hwclock(8) manual page for more details.

Example 9. Mostrando la Fecha y Hora Actual

To display the current date and the current local time from the hardware clock, run as root:

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

CEST is a time zone abbreviation and stands for Central European Summer Time.

For information on how to change the time zone, see Changing the Time Zone.

Setting the Date and Time

Besides displaying the date and time, you can manually set the hardware clock to a specific time.

When you need to change the hardware clock date and time, you can do so by appending the --set and --date options along with your specification:

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

Replace dd with a day (a two-digit number), mmm with a month (a three-letter abbreviation), yyyy with a year (a four-digit number), HH with an hour (a two-digit number), MM with a minute (a two-digit number).

At the same time, you can also set the hardware clock to keep the time in either UTC or local time by adding the --utc or --localtime options, respectively. In this case, UTC or LOCAL is recorded in the /etc/adjtime file.

Example 10. Setting the Hardware Clock to a Specific Date and Time

If you want to set the date and time to a specific value, for example, to "21:17, October 21, 2014", and keep the hardware clock in UTC, run the command as root in the following format:

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

Synchronizing the Date and Time

You can synchronize the hardware clock and the current system time in both directions.

  • Either you can set the hardware clock to the current system time by using this command:

    hwclock --systohc

    Note that if you use NTP, the hardware clock is automatically synchronized to the system clock every 11 minutes, and this command is useful only at boot time to get a reasonable initial system time.

  • Or, you can set the system time from the hardware clock by using the following command:

    hwclock --hctosys

When you synchronize the hardware clock and the system time, you can also specify whether you want to keep the hardware clock in local time or UTC by adding the --utc or --localtime option. Similarly to using --set, UTC or LOCAL is recorded in the /etc/adjtime file.

The hwclock --systohc --utc command is functionally similar to timedatectl set-local-rtc false and the hwclock --systohc --local command is an alternative to timedatectl set-local-rtc true.

Example 11. Synchronizing the Hardware Clock with System Time

To set the hardware clock to the current system time and keep the hardware clock in local time, run the following command as root:

~]# hwclock --systohc --localtime

To avoid problems with time zone and DST switching, it is recommended to keep the hardware clock in UTC. The shown Synchronizing the Hardware Clock with System Time is useful, for example, in case of a multi boot with a Windows system, which assumes the hardware clock runs in local time by default, and all other systems need to accommodate to it by using local time as well. It may also be needed with a virtual machine; if the virtual hardware clock provided by the host is running in local time, the guest system needs to be configured to use local time, too.

Recursos Adicionales

For more information on how to configure the date and time in Fedora Rawhide, see the resources listed below.

Installed Documentation
  • timedatectl(1) — The manual page for the timedatectl command line utility documents how to use this tool to query and change the system clock and its settings.

  • date(1) — The manual page for the date command provides a complete list of supported command line options.

  • hwclock(8) — The manual page for the hwclock command provides a complete list of supported command line options.

See Also