Qual è l'istruzione della riga di comando per modificare l'orologio di sistema?


50

Esiste un comando simile per modificare la data e l'ora dell'orologio di sistema?

Per esempio:

La data e l'ora corrente è January 1, 1970 22:30:59:980dove 59 e 980 si riferisce ai secondi e millisecods rispettivamente

E voglio cambiarlo in January 2, 1971 23:31:59:990

C'è un comando per questo?


Nel caso in cui qualcuno sia interessato a cambiare anche il fuso orario. askubuntu.com/questions/3375/…
nassim

Risposte:


57

Per impostare l'ora in Ubuntu dal terminale, è possibile utilizzare il seguente comando:

sudo date new_date_time_string

dove new_date_time_stringdeve seguire il formato MMDDhhmmyyyy.ssche è descritto di seguito:

  • MM è un mese a due cifre, tra 01 e 12
  • DD è un giorno a due cifre, tra 01 e 31, con le regole regolari per i giorni in base al mese e all'anno applicabili
  • hh è l'ora a due cifre, utilizzando il periodo di 24 ore, quindi è compreso tra 00 e 23
  • mm è un minuto a due cifre, tra 00 e 59
  • yyyyè l'anno; può essere a due o quattro cifre
  • ssè di due cifre secondi. Si noti il ​​periodo .precedente al ss.

Fonte: gestire il tempo in Ubuntu attraverso la riga di comando .

Quindi, nel tuo caso particolare, puoi usare:

sudo date 010224311971.59

Oppure puoi usare:

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

che è esattamente quello che hai chiesto.

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


qual è il formato effettivo della data della stringa?
Abel Melquiades Callejo

significa che l'accuratezza può essere limitata a pochi secondi ?
Abel Melquiades Callejo

@AbelMelquiadesCallejo Vedi le mie nuove modifiche.
Radu Rădeanu,

1
Qualcuno potrebbe spiegare? hhè compreso tra 00 e 23, ma OP e questa risposta indicano che è impostato su 24.
Carl H

@CarlH Ottima cattura! Guarda le nuove modifiche
Abel Melquiades Callejo,

16

Il modo semplice:

ntpdate -s ntp.ubuntu.com

Per modificare il fuso orario:

dpkg-reconfigure tzdata

Probabilmente hai bisogno sudo.


4
Mi chiedo quale server NTP imposterà l'ora sul gennaio 1971.
muru,

Il tuo server è connesso a Internet? Controlla la documentazione ufficiale su help.ubuntu.com/lts/serverguide/NTP.html
Ninecols

4

Puoi usare il datecomando per cambiare l'ora e avrai bisogno sudodell'autorizzazione per farlo; un esempio per impostare la data al 27 giugno 2014 e l'ora all'1: 17 AM è:

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

3

Da quando systemd è stato introdotto in Ubuntu, il modo corretto è:

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

per esempio

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

Questo funziona anche con eg sudo date --set="+2 hours", che è esattamente quello di cui avevo bisogno.
Emile Vrijdags,

0

Versioni brevi per impostare solo la data o l'ora:

Per impostare la data (imposterà l'ora su 0: 0: 0):

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

Per impostare solo l'ora:

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

È possibile aggiungere ".990" desiderato ai secondi.

Leggi la pagina man per ulteriori opzioni e formati relativi al comando data:

man date

Nota: potresti anche voler controllare o impostare l'orologio hardware. Leggi qui .


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.