Was ist die Befehlszeilenanweisung zum Ändern der Systemuhr?

50

Gibt es einen solchen Befehl zum Ändern des Datums und der Uhrzeit der Systemuhr?

Zum Beispiel:

Das aktuelle Datum und die Zeit ist , January 1, 1970 22:30:59:980wo 59 und 980 zu den bezieht sich Sekunden und millisecods jeweils

Und ich möchte es ändern January 2, 1971 23:31:59:990

Gibt es dafür einen Befehl?

Abel Melquiades Callejo
quelle
Nur für den Fall, dass jemand daran interessiert ist, auch die Zeitzone zu ändern. askubuntu.com/questions/3375/…
nassim

Antworten:

57

Um die Zeit in Ubuntu vom Terminal aus einzustellen, können Sie den folgenden Befehl verwenden:

sudo date new_date_time_string

wo new_date_time_stringmuss MMDDhhmmyyyy.ssdas unten beschriebene Format verwendet werden:

  • MM ist ein zweistelliger Monat zwischen 01 und 12
  • DD ist ein zweistelliger Tag zwischen 01 und 31, wobei die regulären Regeln für die Tage nach Monat und Jahr gelten
  • hh ist eine zweistellige Stunde, wobei der 24-Stunden-Zeitraum zwischen 00 und 23 liegt
  • mm ist eine zweistellige Minute zwischen 00 und 59
  • yyyyist das Jahr; es kann zweistellig oder vierstellig sein
  • ssist zweistellig Sekunden. Beachten Sie die Zeit .vor dem ss.

Quelle: Verwalten Sie die Zeit in Ubuntu über die Befehlszeile .

In Ihrem speziellen Fall können Sie also Folgendes verwenden:

sudo date 010224311971.59

Oder Sie können verwenden:

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

Das ist genau das, was Sie gefragt haben.

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

Radu Rădeanu
quelle
Was ist das tatsächliche Format der Zeichenfolge Datum?
Abel Melquiades Callejo
bedeutet das, dass die Genauigkeit nur auf Sekunden begrenzt werden kann ?
Abel Melquiades Callejo
@ BelMelquiadesCallejo Siehe meine neuen Änderungen.
Radu Rădeanu
1
Könnte jemand erklären? hhliegt zwischen 00 und 23, aber OP und diese Antwort zeigt, dass es auf 24 gesetzt ist.
Carl H
@CarlH Großartiger Fang dafür! Siehe die neuen Änderungen
Abel Melquiades Callejo
16

Der einfache Weg:

ntpdate -s ntp.ubuntu.com

So ändern Sie die Zeitzone:

dpkg-reconfigure tzdata

Wahrscheinlich brauchst du sudo.

Ninecols
quelle
4
Welcher NTP-Server wird die Zeit auf Januar 1971 einstellen, frage ich mich.
muru
Ist Ihr Server mit dem Internet verbunden? Überprüfen Sie die offizielle Dokumentation unter help.ubuntu.com/lts/serverguide/NTP.html
Ninecols
4

Sie können den dateBefehl verwenden, um die Zeit zu ändern, und Sie benötigen die sudoBerechtigung, dies zu tun. Ein Beispiel zum Festlegen des Datums auf den 27. Juni 2014 und der Uhrzeit auf 01:17 Uhr lautet:

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

Seit der Einführung von systemd in Ubuntu ist der richtige Weg:

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

z.B

# timedatectl set-time "2002-10-02T10:00:00-05:00"
# timedatectl set-time "10:35"
# timedatectl set-time "+2 hours"
jojman
quelle
Das funktioniert auch mit zB sudo date --set="+2 hours", was genau das ist, was ich brauchte.
Emile Vrijdags
0

Kurzversionen nur zum Einstellen von Datum oder Uhrzeit:

So stellen Sie das Datum ein (setzt die Uhrzeit auf 0: 0: 0):

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

So stellen Sie nur die Uhrzeit ein:

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

Sie können den Sekunden die gewünschte ".990" hinzufügen.

Weitere Optionen und Formate für den Befehl date finden Sie in der Manpage :

man date

Hinweis: Möglicherweise möchten Sie auch die Hardware-Uhr überprüfen oder einstellen. Lesen Sie hier darüber .

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

Das wäre eine korrekte Aussage in UBUNTU 14.04.

Soumya Kanti Naskar
quelle
1
Nur für alle in der IST-Zeitzone? Funktioniert die andere Antwort bei Ihnen nicht?
Xen2050,
Die Frage erfordert keine Änderung der Zeitzone.
Abel Melquiades Callejo