bagaimana cara menambahkan hari ke tanggal di bash?


24

Misalnya, saya punya tanggal: 4 Agustus 1993 dan saya ingin menambahkan 348 hari untuk itu, bagaimana saya bisa melakukannya di bash?

Jawaban:


30

Cukup gunakan dateperintah dengan -dopsi:

$ date -d "1983-08-04 348 days"
Tue Jul 17 00:00:00 BST 1984  

Anda dapat mengubah format output jika Anda ingin:

$ date -d "1983-08-04 2 days" +%Y-%m-%d
1983-08-06                                           

1
Anda dapat menggunakan format tanggal OP juga:date -d "4 August 1993 348 days" +"%d %B %Y"
Dijeda sampai pemberitahuan lebih lanjut.

1
Menurut man date:%F full date; same as %Y-%m-%d
jperelli

12

Dalam bash di Mac OS X, Anda dapat melakukan ini:

date -j -v +348d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d

Keluaran: 1994-07-18


1
Sudah lama mencari ini. Saya menghargai. Saya ingin mengganti angka "348" dengan variabel dari skrip bash. Saya berakhir dengan NEXT_DATE=$(date -j -v +$(( incrementDays ))d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d)orang lain yang ingin melakukan ini.
Ian G

1

Berikut ini sedikit lebih rumit penggunaannya:

for i in `seq 1 5`;
do;
  date -d "2014-02-01 $i days" +%Y-%m-%d;
done;

atau dengan pipa:

seq 1 5 | xargs -I {} date -d "2014-02-01 {} days" +%Y-%m-%d
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.