Lebih
YYYY-MM-DD format tanggal di shell script
Saya mencoba menggunakan $(date)
dalam bash shell script, namun saya ingin upload di YYYY-MM-DD format. Bagaimana saya bisa mendapatkan ini?
1039
13
Di bash (>=4.2) adalah lebih baik untuk menggunakan printf's built-in tanggal formatter (bagian dari bash) daripada eksternal
tanggal
(biasanya GRATIS tanggal).Seperti:
Di bash (<4.2):
Lainnya format tanggal yang tersedia dapat dilihat dari tanggal halaman man (untuk eksternal non-bash perintah tertentu):
Coba:
$(date +%F)
Anda dapat melakukan sesuatu seperti ini:
Anda'kembali mencari ISO 8601 standar format tanggal, jadi jika anda memiliki GNU tanggal (atau setiap tanggal perintah yang lebih modern dari tahun 1988) hanya melakukan:
$(tanggal-I)
Output akan menjadi
2015-06-14
.dapat digunakan untuk menghilangkan tanda titik dua (:) di antara
output
Dengan baru-baru Bash (versi ≥ 4.2), anda dapat menggunakan built-in
printf
dengan format pengubah%(strftime_format)T
:printf
adalah jauh lebih cepat daritanggal
karena itu's Bash builtin sementaratanggal
adalah perintah eksternal.Dan juga,
printf -v tanggal ...
lebih cepat daritanggal=$(printf ...)
sejak itu doesn't membutuhkan forking subkulit.Setiap kali saya memiliki tugas seperti ini saya akhirnya jatuh kembali ke
untuk mengingatkan diri sendiri dari semua kemungkinan.
Berikut ini x adalah sampel saat digunakan & kemudian menampilkan contoh baik format data serta mendapatkan tanggal 10 menit lebih kemudian tanggal saat ini.
jika anda ingin tahun ini dalam dua format angka seperti 17 daripada 2017, lakukan hal berikut:
Saya menggunakan formulasi berikut:
HARI ini=`date-aku` echo $HARI ini
Checkout halaman man untukdate
, ada beberapa pilihan lain yang berguna:pria tanggal
Saya menggunakan
$(date +"%Y-%m-%d")
atau$(date +"%Y-%m-%d %T")
dengan waktu dan jam.Anda dapat mengatur tanggal sebagai variabel lingkungan dan kemudian anda dapat menggunakannya
atau