Apa pernyataan baris perintah untuk mengubah jam Sistem?

50

Apakah ada perintah untuk mengubah tanggal dan waktu jam Sistem?

Sebagai contoh:

Tanggal dan waktu saat ini adalah di January 1, 1970 22:30:59:980mana 59 dan 980 masing-masing mengacu pada detik dan milidetik

Dan saya ingin mengubahnya menjadi January 2, 1971 23:31:59:990

Apakah ada perintah untuk ini?

Abel Melquiades Callejo
sumber
Untuk berjaga-jaga jika seseorang tertarik untuk mengubah zona waktu. askubuntu.com/questions/3375/…
nassim

Jawaban:

57

Untuk mengatur waktu di Ubuntu dari terminal, Anda dapat menggunakan perintah berikut:

sudo date new_date_time_string

di mana new_date_time_stringharus mengikuti format MMDDhhmmyyyy.ssyang dijelaskan di bawah ini:

  • MM adalah bulan dua digit, antara 01 hingga 12
  • DD adalah hari dua digit, antara 01 dan 31, dengan aturan reguler untuk hari sesuai dengan bulan dan tahun yang berlaku
  • hh adalah dua digit jam, menggunakan periode 24 jam sehingga antara 00 dan 23
  • mm adalah dua digit menit, antara 00 dan 59
  • yyyyadalah tahun; bisa dua digit atau empat digit
  • ssadalah dua digit detik. Perhatikan periode .sebelum ss.

Sumber: Kelola Waktu di Ubuntu Melalui Command Line .

Jadi, dalam kasus khusus Anda, Anda dapat menggunakan:

sudo date 010224311971.59

Atau, Anda dapat menggunakan:

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

itulah tepatnya yang Anda tanyakan.

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

Radu Rădeanu
sumber
apa format aktual dari tanggal string?
Abel Melquiades Callejo
apakah itu berarti akurasinya hanya terbatas pada detik ?
Abel Melquiades Callejo
@AbelMelquiadesCallejo Lihat hasil edit baru saya.
Radu Rădeanu
1
Bisakah seseorang menjelaskan? hhadalah antara 00 dan 23, tetapi OP dan jawaban ini menunjukkan sedang disetel ke 24.
Carl H
@CarlH Tangkapan bagus untuk itu! Lihat hasil edit baru
Abel Melquiades Callejo
16

Cara mudah:

ntpdate -s ntp.ubuntu.com

Untuk mengubah zona waktu:

dpkg-reconfigure tzdata

Mungkin Anda membutuhkannya sudo.

Ninecol
sumber
4
Server NTP mana yang akan mengatur waktu ke Januari 1971, saya heran.
muru
Apakah server Anda terhubung ke internet? Periksa dokumentasi resmi di help.ubuntu.com/lts/serverguide/NTP.html
Ninecols
4

Anda dapat menggunakan dateperintah untuk mengubah waktu dan Anda akan memerlukan sudoizin untuk melakukannya; contoh untuk menetapkan tanggal ke 27 Juni 2014 dan waktu ke 1:17 adalah:

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

Sejak systemd diperkenalkan di Ubuntu, cara yang benar adalah:

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

misalnya

# timedatectl set-time "2002-10-02T10:00:00-05:00"
# timedatectl set-time "10:35"
# timedatectl set-time "+2 hours"
jojman
sumber
Ini juga berfungsi dengan misalnya sudo date --set="+2 hours", yang persis apa yang saya butuhkan.
Emile Vrijdags
0

Versi singkat untuk pengaturan tanggal atau waktu saja:

Untuk mengatur tanggal (akan mengatur waktu ke 0: 0: 0):

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

Untuk mengatur waktu saja:

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

Anda dapat menambahkan ".990" yang diinginkan ke detik.

Baca halaman manual untuk opsi dan format lebih lanjut mengenai perintah tanggal:

man date

Catatan: Anda mungkin juga ingin memeriksa atau mengatur jam perangkat keras. Baca tentang ini di sini .

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

Itu akan menjadi pernyataan yang benar di UBUNTU 14.04.

Soumya Kanti Naskar
sumber
1
Untuk semua orang di zona waktu IST saja? Apakah jawaban yang lain tidak cocok untuk Anda?
Xen2050
Pertanyaannya tidak perlu mengubah zona waktu.
Abel Melquiades Callejo