Pertanyaan Format tanggal YYYY-MM-DD dalam skrip shell


Saya mencoba menggunakan $(date) dalam skrip bash shell saya, namun saya ingin tanggal dalam format YYYY-MM-DD. Bagaimana saya mendapatkan ini?


757
2017-09-09 19:06


asal


Jawaban:


Di Bash:

mendapatkan tahun bulan hari dari date

DATE=`date +%Y-%m-%d`

mendapatkan jam hari-bulan-hari: menit: detik dari date

DATE=`date '+%Y-%m-%d %H:%M:%S'`

Format tanggal lain yang tersedia dapat dilihat dari tanggal halaman man:

man date

1303
2017-09-09 19:08



Mencoba: $(date +%F)


256
2017-09-09 19:11



Anda dapat melakukan sesuatu seperti ini:

$ date +'%Y-%m-%d'

57
2017-09-09 19:08



Kamu sedang mencari ISO 8601 format tanggal standar, jadi jika Anda memiliki tanggal GNU (atau perintah tanggal yang lebih modern dari 1988) lakukan: $(date -I)


29
2018-06-19 15:49



date -d '1 hour ago' '+%Y-%m-%d'

Outputnya akan 2015-06-14.


15
2017-09-07 08:05



Dengan Bash terbaru (versi ≥ 4.2), Anda dapat menggunakan built-in printf dengan pengubah format %(strftime_format)T:

$ printf '%(%Y-%m-%d)T\n' -1  # Get YYYY-MM-DD (-1 stands for "current time")
2017-11-10
$ printf '%(%F)T\n' -1  # Synonym of the above
2017-11-10
$ printf -v date '%(%F)T' -1  # Capture as var $date

5
2017-11-10 05:15



jika Anda ingin tahun dalam dua format angka seperti 17 dan bukan 2017, lakukan hal berikut:

DATE=`date +%d-%m-%y`

4
2018-06-02 18:55



Setiap kali saya memiliki tugas seperti ini saya akhirnya jatuh kembali ke

$ man strftime

untuk mengingatkan diriku tentang semua kemungkinan.


4
2018-05-08 21:25



#!/bin/bash -e

x='2018-01-18 10:00:00'
a=$(date -d "$x")
b=$(date -d "$a 10 min" "+%Y-%m-%d %H:%M:%S")
c=$(date -d "$b 10 min" "+%Y-%m-%d %H:%M:%S")
#date -d "$a 30 min" "+%Y-%m-%d %H:%M:%S"

echo Entered Date is $x
echo Second Date is $b
echo Third Date is $c

Di sini x adalah tanggal sampel yang digunakan & kemudian contoh menampilkan kedua format data serta mendapatkan tanggal 10 menit lebih dari tanggal saat ini.


1
2018-01-18 11:46



$(date +%F_%H-%M-%S)

dapat digunakan untuk menghapus titik dua (:) di antaranya

keluaran

2018-06-20_09-55-58

0
2018-06-20 07:14