Sistem saatini değiştirmek için komut satırı ifadesi nedir?


50

Sistem saatinin tarih ve saatini değiştirmek için böyle bir komut var mı?

Örneğin:

Geçerli tarih ve saati January 1, 1970 22:30:59:980nerede 59 ve 980 atıfta saniye ve millisecods sırasıyla

Ve ben bunu değiştirmek istiyorum January 2, 1971 23:31:59:990

Bunun için bir komut var mı?


Sadece birinin saat dilimini değiştirmeyle ilgilenmesi durumunda. askubuntu.com/questions/3375/…
nassim

Yanıtlar:


57

Ubuntu’da terminalden saati ayarlamak için aşağıdaki komutu kullanabilirsiniz:

sudo tarih new_date_time_string

nerede new_date_time_stringbiçimi takip etmelidir MMDDhhmmyyyy.ssaşağıda açıklanmıştır:

  • MM 01 - 12 arasında iki basamaklı bir aydır
  • DD ay ve yıla göre günler için normal kurallarla, 01 ile 31 arasında iki basamaklı bir gündür.
  • hh 24 saatlik süreyi kullanarak iki basamaklı saattir, bu nedenle 00 - 23
  • mm İki basamaklı dakikadır, 00 ile 59 arasında
  • yyyyyıl; iki veya dört haneli olabilir
  • ssiki basamaklı saniyedir. Dönemini edin .önce ss.

Kaynak: Ubuntu'da Komut Satırı Yoluyla Zamanı Yönetin .

Yani, sizin durumunuzda, şunları kullanabilirsiniz:

sudo date 010224311971.59

Veya kullanabilirsiniz:

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

tam olarak sorduğun şey bu.

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


Dize tarihinin asıl biçimi nedir?
Abel Melquiades Callejo

Bu, doğruluğun sadece saniyelerle sınırlı olabileceği anlamına mı geliyor?
Abel Melquiades Callejo

@AbelMelquiadesCallejo Yeni düzenlemelerime bakın.
Radu Rădeanu

1
Birisi açıklayabilir mi? hh00 ve 23 arasında, ancak OP ve bu cevap 24 olarak ayarlandığını gösteriyor.
Carl H

@CarlH Bu harika yakalamak! Yeni düzenlemelere bakın
Abel Melquiades Callejo


4

dateZamanı değiştirmek için komutu kullanabilirsiniz ve bunu sudoyapmak için izne ihtiyacınız vardır ; tarihi 27 Haziran 2014 ve saat 1:17 olarak belirlemeye bir örnek:

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

3

Systemd Ubuntu'da tanıtıldığından beri doğru yol:

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

Örneğin

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

Bu aynı zamanda, örneğin sudo date --set="+2 hours"tam olarak ihtiyacım olan şeyle de çalışıyor .
Emile Vrijdags

0

Sadece tarih veya saat ayarı için kısa versiyonlar:

Tarihi ayarlamak için (saati 0: 0: 0 olarak ayarlayacaktır):

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

Yalnızca saati ayarlamak için:

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

İstenen ".990" ı saniye cinsinden ekleyebilirsiniz.

Date komutuyla ilgili daha fazla seçenek ve format için man sayfasını okuyun :

man date

Not: Ayrıca donanım saatini kontrol etmek veya ayarlamak isteyebilirsiniz. Buradan oku .


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.