¿Cuál es la instrucción de línea de comando para cambiar el reloj del sistema?


50

¿Existe tal comando para cambiar la fecha y hora del reloj del sistema?

Por ejemplo:

La fecha y hora actuales es January 1, 1970 22:30:59:980donde 59 y 980 se refieren a los segundos y milisegundos respectivamente

Y quiero cambiarlo a January 2, 1971 23:31:59:990

¿Hay un comando para esto?


En caso de que alguien esté interesado en cambiar también la zona horaria. askubuntu.com/questions/3375/…
nassim

Respuestas:


57

Para configurar el tiempo en Ubuntu desde la terminal, puede usar el siguiente comando:

sudo date new_date_time_string

donde new_date_time_stringtiene que seguir el formato MMDDhhmmyyyy.ssque se describe a continuación:

  • MM es un mes de dos dígitos, entre 01 y 12
  • DD es un día de dos dígitos, entre el 01 y el 31, con las reglas regulares para los días de acuerdo con el mes y el año de aplicación
  • hh es una hora de dos dígitos, usando el período de 24 horas, por lo que es entre 00 y 23
  • mm es un minuto de dos dígitos, entre 00 y 59
  • yyyyes el año puede ser de dos o cuatro dígitos
  • ssson dos dígitos segundos. Observe el período .anterior al ss.

Fuente: Administre el tiempo en Ubuntu a través de la línea de comandos .

Entonces, en su caso particular, puede usar:

sudo date 010224311971.59

O puedes usar:

sudo date --set="1971-01-02 23:31:59.990"  && date --rfc-3339=ns

que es exactamente lo que preguntaste

Fuente: https://serverfault.com/a/338395/181186 .


¿Cuál es el formato real de la fecha de la cadena?
Abel Melquiades Callejo

¿eso significa que la precisión solo puede limitarse a segundos ?
Abel Melquiades Callejo

@AbelMelquiadesStreetjo Vea mis nuevas ediciones.
Radu Rădeanu

1
¿Alguien podría explicar? hhes entre 00 y 23, pero OP y esta respuesta muestran que está configurado en 24.
Carl H

@CarlH ¡Gran captura de eso! Vea las nuevas ediciones
Abel Melquiades Callejo

16

La manera fácil:

ntpdate -s ntp.ubuntu.com

Para cambiar la zona horaria:

dpkg-reconfigure tzdata

Probablemente lo necesites sudo.


44
Me pregunto qué servidor NTP establecerá la hora de enero de 1971.
muru

¿Su servidor está conectado a internet? Consulte la documentación oficial en help.ubuntu.com/lts/serverguide/NTP.html
Ninecols

4

Puede usar el datecomando para cambiar la hora y necesitará sudopermiso para hacerlo; Un ejemplo para establecer la fecha al 27 de junio de 2014 y la hora a la 1:17 AM es:

sudo date --set "27 Jun 2014 1:17:00"

3

Desde que systemd se introdujo en Ubuntu, la forma correcta es:

# timedatectl set-time "RFC 3339-compliant string"

p.ej

# timedatectl set-time "2002-10-02T10:00:00-05:00"
# timedatectl set-time "10:35"
# timedatectl set-time "+2 hours"

Esto también funciona con sudo date --set="+2 hours", por ejemplo , que es exactamente lo que necesitaba.
Emile Vrijdags el

0

Versiones cortas para configurar solo la fecha o la hora:

Para establecer la fecha (establecerá la hora en 0: 0: 0):

date +%Y%m%d -s "19710102"

Para configurar la hora solamente:

date +%T -s "23:31:59"

Puede agregar el ".990" deseado a los segundos.

Lea la página de manual para obtener más opciones y formatos sobre el comando de fecha:

man date

Nota: es posible que también desee verificar o configurar el reloj de hardware. Lea sobre esto aquí .


-3
sudo date --set="Mon Feb 16 08:49:56 IST 2015"

Esa sería una declaración correcta en UBUNTU 14.04.


1
¿Solo para todos en la zona horaria IST? ¿La otra respuesta no te funciona?
Xen2050

La pregunta no requiere cambiar la zona horaria.
Abel Melquiades Callejo
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.