Cara Mencari Tarikh Semalam dalam Bash

Cara Mencari Tarikh Semalam Dalam Bash



Bourne Again Shell juga dikenali sebagai Bash datang dengan pelbagai utiliti baris arahan untuk memanipulasi dan mengautomasikan tugas. Satu utiliti tersebut ialah Tarikh arahan, yang digunakan untuk mendapatkan tarikh/masa dan memanipulasinya. Menggunakan Tarikh arahan, anda juga boleh mendapatkan tarikh semalam untuk menggunakannya dalam skrip Bash.

Mendapatkan tarikh semalam boleh berguna untuk menjana laporan, pengurusan data dan tugas penjadualan.







Dalam tutorial ini, saya akan meneroka cara menggunakan arahan tarikh untuk mendapatkan tarikh semalam dalam Bash.



Apakah Perintah tarikh Bash
Cara Mencari Tarikh Semalam dalam Bash di Linux
1. Mencari Tarikh Semalam menggunakan Pilihan -d atau – –tarikh



Mencari Tarikh Semalam menggunakan EPOCHSECONDS
Cara Mencari Tarikh Semalam dalam Bash pada macOS
Kesimpulan





Apakah Perintah tarikh Bash

Perintah tarikh dalam Bash memaparkan tarikh dan masa dalam terminal. Ia juga boleh digunakan untuk menetapkan, menukar atau mencetak tarikh dan masa dalam format yang berbeza. Perintah tarikh sangat berguna untuk mengautomasikan dan menjadualkan tugas dalam skrip Bash.

Untuk mendapatkan tarikh dan masa semasa, hanya taipkan Tarikh di terminal:



Tarikh



Untuk mendapatkan tarikh dalam format YYYY-MM-DD gunakan arahan berikut:

Tarikh + '%Y/%m/%d'



Anda boleh menggunakan sengkang (-) di tempat sengkang (/) dalam arahan di atas.

Aksara kawalan format yang biasa digunakan disenaraikan di bawah:

%d Memaparkan hari dalam bulan; contohnya: 02 atau 03.
%D Memaparkan tarikh dalam format Bulan-Hari-Tahun.
%m Memaparkan bulan; contohnya: 01-12
%dalam Memaparkan hari dalam seminggu: contohnya: 1-7. 1 ialah Isnin, 4 ialah Khamis.
%DALAM Memaparkan nombor minggu dalam tahun. Sebagai contoh, 00-53, 00 adalah minggu pertama tahun ini, 01 adalah minggu kedua tahun itu.
%j Memaparkan hari dalam setahun; sebagai contoh, 001 ialah hari pertama tahun 366 ialah hari terakhir.

Untuk butiran lanjut, laksanakan arahan berikut untuk mengakses halaman manual arahan tarikh:

lelaki Tarikh


Satu lagi pilihan penting yang disertakan dengan Tarikh perintah ialah -d atau - -Tarikh . Menggunakan pilihan ini, kita boleh mendapatkan tarikh sebelumnya, tarikh akan datang, dan juga semalam. Pilihan ini digunakan untuk memaparkan masa yang diberikan dalam bentuk rentetan. Sebagai contoh:

Tarikh --Tarikh 'Sabtu lepas'



Atau:

Tarikh -d 'Sabtu lepas'



Apakah rentetan lain yang boleh diterima -d atau – –tarikh pilihan disebut di bawah:

    • esok
    • semalam
    • Sabtu lepas
    • Sabtu depan
    • minggu lepas
    • minggu depan
    • tahun lepas
    • tahun hadapan
    • X saat lalu
    • X hari lepas
    • X minggu lepas
    • X tahun lalu
    • X hari
    • X minggu
    • X tahun

Dalam bahagian seterusnya, saya akan gunakan -d dan - -Tarikh pilihan untuk mencari tarikh semalam.

Cara Mencari Tarikh Semalam dalam Bash di Linux

Untuk mencari tarikh semalam dalam Bash terdapat pelbagai cara. Saya akan membincangkan setiap kaedah:

    • Mencari Tarikh Semalam menggunakan Pilihan -d atau – –tarikh
    • Mencari Tarikh Semalam menggunakan EPOCHSECONDS

Catatan: Mencari tarikh semalam bergantung pada keupayaan tarikh sistem.

1. Mencari Tarikh Semalam menggunakan -d atau ––tarikh Pilihan

Untuk mendapatkan tarikh semalam dalam Bash gunakan arahan berikut:

Tarikh -d '1 hari yang lalu'



Atau gunakan:

Tarikh --Tarikh '1 hari yang lalu'



The 1 hari lepas rentetan juga boleh digantikan dengan -1 hari.

Tarikh --Tarikh '-1 hari'



Anda juga boleh memformat tarikh menggunakan aksara format.

Tarikh --Tarikh '1 hari yang lalu' + '%Y/%m/%d'



Satu lagi cara untuk mendapatkan tarikh semalam dalam bash ialah menggunakan rentetan semalam dengan -d atau - -Tarikh pilihan.

Tarikh --Tarikh 'semalam'



Untuk memformatnya dalam YYYY/MM/DD gunakan arahan berikut:

Tarikh --Tarikh 'semalam' + '%Y/%m/%d'


Apakah Had Pilihan -d atau – –tarikh dalam Linux

Pilihan -d atau – –tarikh memberi anda tarikh semalam tetapi pilihan ini mempunyai beberapa had. Pilihan ini tidak dipertimbangkan Menjimatkan masa siang atau DST sambil memberikan output dan bergantung pada zon waktu semasa. Perintah tarikh hanya menolak 24 jam daripada tarikh dan masa semasa untuk memberikan output semalam yang menghapuskan pertimbangan DST.

Satu pendekatan untuk mengelakkan situasi sedemikian adalah menggunakan UTC (-u flag), yang tidak bergantung pada zon waktu tempatan untuk mengira tarikh semalam dan memberikan output mengikut zon waktu tetap. Gunakan bendera -u dengan arahan tarikh:

Tarikh -dalam --Tarikh 'semalam' + '%Y-%m-%d'


2. Mencari Tarikh Semalam menggunakan EPOCHSECONDS

Tarikh semalam juga boleh didapati menggunakan EPOCHSECONDS. Untuk mencari tarikh semalam jalankan arahan berikut:

printf -dalam semalam '%(%Y/%m/%d)T' $ ( ( EPOCHSECONDS – 86400 ) )


Untuk mencetak larian tarikh semalam:

bergema $semalam



Perintah ini mengira tarikh tarikh sebelumnya menggunakan EPOCHSECONDS dan memberikannya kepada semalam pembolehubah dalam YYYY-MM-DD format. EPOCHSECONDS ialah bilangan saat sejak 1 Januari 1970, di mana 86400 menandakan bilangan saat setiap hari.

Cara Mencari Tarikh Semalam dalam Bash pada macOS

Walaupun macOS datang dengan Zsh sebagai cangkerang lalai, ramai yang masih lebih suka Bash yang digunakan secara meluas. Perintah tarikh dalam macOS tidak menyokong semalam sintaks, oleh itu prosedur mendapatkan tarikh semalam pada macOS adalah sedikit berbeza.

Dalam macOS, Tarikh arahan digunakan untuk mencari tarikh semalam.

Tarikh -v-1d



Untuk mendapatkan tarikh semalam dalam format khusus pada penggunaan macOS:

Tarikh -v-1d + '%Y/%m/%d'



Bendera -v digunakan untuk melaraskan masa dan tarikh; sebagai contoh: jika anda mahu tarikh hari sebelumnya, gunakan 1 d dengan tolak ( ) tanda. Untuk mendapatkan tarikh untuk hari berikutnya hanya gunakan tambah ( + ) tanda. Di sini d mewakili hari dari 1-31. Untuk butiran lanjut, laksanakan arahan berikut dalam terminal bash macOS:

lelaki Tarikh


Catatan: Bendera -v adalah khusus untuk macOS dan mungkin tidak berfungsi pada sistem pengendalian lain seperti Linux.

Kesimpulan

Anda perlu bekerja dengan tarikh dan masa untuk menjadualkan tugas, membuat laporan dan menyandarkan data sebagai pentadbir sistem. Untuk mendapatkan tarikh semalam dalam sistem Linux anda boleh menggunakan arahan tarikh dengan -d atau - -Tarikh bendera. Dalam macOS juga arahan tarikh digunakan tetapi dengan a -dalam bendera dan integer positif atau negatif dengan d watak.