Gunakan date -s
:
date -s '2014-12-25 12:34:56'
Jalankan itu sebagai root atau di bawah sudo
. Mengubah hanya satu tahun/bulan/hari lebih merupakan tantangan dan akan melibatkan pengulangan bit dari tanggal saat ini. Ada juga alat tanggal GUI yang terpasang di lingkungan desktop utama, biasanya diakses melalui jam.
Untuk mengubah sebagian waktu saja, Anda dapat menggunakan substitusi perintah dalam string tanggal:
date -s "2014-12-25 $(date +%H:%M:%S)"
akan mengubah tanggal, tetapi menjaga waktu. Lihat man date
untuk detail pemformatan untuk membuat kombinasi lain:masing-masing komponen adalah %Y
, %m
, %d
, %H
, %M
, dan %S
.
Waktu sistem
Anda dapat menggunakan date
untuk mengatur tanggal sistem. Implementasi GNU dari date
(seperti yang ditemukan pada sebagian besar sistem berbasis Linux non-embedded) menerima banyak format berbeda untuk menyetel waktu, berikut beberapa contohnya:
tetapkan hanya tahun:
date -s 'next year'
date -s 'last year'
atur hanya bulan:
date -s 'last month'
date -s 'next month'
atur hanya hari:
date -s 'next day'
date -s 'tomorrow'
date -s 'last day'
date -s 'yesterday'
date -s 'friday'
atur semuanya:
date -s '2009-02-13 11:31:30' #that's a magical timestamp
Waktu perangkat keras
Sekarang waktu sistem telah disetel, tetapi Anda mungkin ingin menyinkronkannya dengan jam perangkat keras:
Gunakan --show
untuk mencetak waktu perangkat keras:
hwclock --show
Anda dapat menyetel jam perangkat keras ke waktu sistem saat ini:
hwclock --systohc
Atau waktu sistem ke jam perangkat keras
hwclock --hctosys
Perintah untuk mengubah tanggal sistem adalah date
.
Ada dua cara untuk memanggil perintah tanggal (di Linux):
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Mudah
Cara termudah adalah dengan menggunakan date -s
karena memungkinkan penggunaan sederhana kerabat tanggal
$ date -s yesterday; date
date: cannot set date: Operation not permitted
Sat Jan 5 07:21:07 EST 2019
Sun Jan 6 07:21:07 EST 2019
Tanggal tidak berubah karena dijalankan dengan pengguna terbatas $
. Jika Anda benar-benar ingin tanggal diubah, gunakan root (#
) atau sudo:
$ sudo date -s yesterday; date
Sat Jan 5 07:21:07 EST 2019
Sat Jan 5 07:21:07 EST 2019
Jadi, ubah bagian apa pun dari kerabat tanggal semudah menamainya:
$ date -s "5 years ago"
Mon Jan 6 08:26:26 EST 2014
$ date -s "+6 months"
Sat Jul 6 08:28:39 EDT 2019
$ date -s "+3 hours -13 minutes"
Sun Jan 6 11:16:59 AST 2019
Tanggal absolut sedikit lebih rumit karena memerlukan lebih banyak detail:
$ date -s "2001-07-23 10:11:12"
Atau, Anda dapat menggunakan perintah tanggal dua kali:
$ date -s "$(date +'%Y-%m-%d %H:%M:%S')"
ganti salah satu dari %
dengan nilai yang valid dan tanggal akan ditetapkan (hanya sebagai root).
$ date -s "$(date +'%Y-11-%d %H:%M:%S')"
Wed Nov 6 08:37:15 EST 2019
langsung
Formulir panggilan kencan kedua digunakan untuk secara langsung ubah tanggal sistem.
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
Jadi :
date 11230812 # MMDDhhmm
Akan menetapkan tanggal ke 23 November pada 08h dan 12min.
BSD memiliki perintah serupa tetapi formatnya berbeda ([[[[[cc]yy]mm]dd]HH]MM[.ss]).
Coba date
sebagai pengguna terbatas untuk melihat apa yang akan dilakukannya (tanpa mengubah apa pun):
$ date 11230812
date: cannot set date: Operation not permitted
Sat Nov 23 08:12:00 EST 2019
Atau, jika Anda benar-benar ingin mengubah tanggal, sebagai root:
# date 11230812
# date
Sat Nov 23 08:12:00 EST 2019
Perhatikan bahwa layanan seperti NTP atau chrony akan terpengaruh. Dan, jika dimulai ulang akan mengatur ulang tanggal kembali ke tanggal aslinya.
Tambahkan YY untuk menyetel tahun:
$ date 1123081222
date: cannot set date: Operation not permitted
Wed Nov 23 08:12:00 EST 2022
Atau CCYY untuk menyetel tahun dan abad:
$ date 112308121982
date: cannot set date: Operation not permitted
Tue Nov 23 08:12:00 EST 1982