GNU/Linux >> Belajar Linux >  >> Linux

Linux:Tetapkan offset zona waktu yang tidak ada?

Alat yang Anda cari adalah faketime .

faketime 'yesterday 9am' /bin/date
faketime '2018-10-25 16:45' /bin/date

Dimungkinkan untuk menggunakan nama zona waktu yang tidak ada dan menyetel waktu hingga +- 24 jam. Dengan asumsi bahwa MYFAKETIME tidak ada sebagai zona waktu yang valid (belum ada, tetapi dapat ditentukan di masa mendatang (sangat tidak mungkin)), maka, ini mungkin:

[email protected]:~$ date
Sun Sep 30 01:22:05 EST 2018
[email protected]:~$ TZ=MYFAKETIME date
Sun Sep 30 06:22:43 MYFAKETIME 2018
[email protected]:~$ TZ=MYFAKETIME+1 date
Sun Sep 30 05:22:56 MYFAKETIME 2018
[email protected]:~$ TZ=MYFAKETIME+10 date
Sat Sep 29 20:23:00 MYFAKETIME 2018
[email protected]:~$ TZ=MYFAKETIME+20 date
Sat Sep 29 10:23:05 MYFAKETIME 2018
[email protected]:~$ TZ=MYFAKETIME+24 date
Sat Sep 29 06:23:08 MYFAKETIME 2018
[email protected]:~$ TZ=MYFAKETIME+48 date
Sat Sep 29 06:23:14 MYFAKETIME 2018
[email protected]:~$ TZ=MYFAKETIME+96 date
Sat Sep 29 06:23:25 MYFAKETIME 2018
[email protected]:~$ 

Perhatikan bahwa zona waktu di atas 24 tidak berfungsi. Mereka tidak mengubah waktu tetapi terbatas pada kisaran -24 ke +24 . Dari 21.4.7 Menentukan Zona Waktu dengan TZ

Format pertama digunakan saat tidak ada Daylight Saving Time (atau waktu musim panas) di zona waktu lokal:

std offset

String std menentukan nama zona waktu. Itu harus tiga karakter atau lebih panjang dan tidak boleh mengandung titik dua di depan, angka yang disematkan, koma, atau tanda plus dan minus. Tidak ada karakter spasi yang memisahkan nama zona waktu dari offset, jadi batasan ini diperlukan untuk mengurai spesifikasi dengan benar.

Offset menentukan nilai waktu yang harus Anda tambahkan ke waktu lokal untuk mendapatkan nilai Waktu Universal Terkoordinasi. Ini memiliki sintaks seperti [+|-]hh[:mm[:ss]]. Ini positif jika zona waktu lokal berada di sebelah barat Meridian Utama dan negatif jika berada di timur. Jam harus antara 0 dan 24 , serta menit dan detik antara 0 dan 59.

Jadi, tidak ada cara untuk mengubah waktu menjadi "hari ke depan" menggunakan variabel TZ.

Solusi sebenarnya adalah dengan menggunakan faketime utilitas (dari paket dengan nama yang sama).

Itu akan memungkinkan Anda untuk melakukan:

[email protected]:~$ faketime '2008-12-24 08:15:42' /bin/date
Wed Dec 24 08:15:42 EST 2008
[email protected]:~$ date
Sun Sep 30 01:44:29 EST 2018

Cukup atur TZ variabel. Nilai positif mengarah ke Timur, begitu juga di belakang GMT.

misalnya

$ TZ=GMT date
Sat Sep 29 19:12:30 GMT 2018
$ TZ=FAKEEAST+15 date
Sat Sep 29 04:12:36 FAKEEAST 2018
$ TZ=FAKEWEST-15 date
Sun Sep 30 10:12:41 FAKEWEST 2018

Ini hanya akan membiarkan Anda pergi +/- 24 jam.


Linux
  1. Cara Mengatur atau Mengubah Zona Waktu di Linux

  2. Cara Mengatur atau Mengubah Zona Waktu di Debain 11

  3. 7 Contoh Perintah Tanggal Linux untuk Menampilkan dan Mengatur Waktu Tanggal Sistem

  1. 7 Contoh Perintah hwclock Linux untuk Mengatur Waktu Tanggal Jam Perangkat Keras

  2. Setel Zona Waktu Linux debian melalui baris perintah

  3. Linux:tetapkan tanggal melalui baris perintah

  1. Cara Memeriksa Zona Waktu di Linux

  2. Cara Mengatur Zona Waktu dan Menyinkronkan Waktu Server dengan NTP di Linux

  3. Atur tanggal, waktu, dan zona waktu di server Linux