bashで日付を追加する方法は?


24

たとえば、日付が1993年8月4日で、348日を追加したい場合、bashでどのようにできますか?

回答:


30

オプションを指定してdateコマンドを使用するだけ-dです:

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

必要に応じて、出力形式を変更できます。

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

1
あなたも、OPの日付形式を使用することができますdate -d "4 August 1993 348 days" +"%d %B %Y"
追って通知があるまで一時停止しました。

1
日付によると:%F full date; same as %Y-%m-%d
jperelli

12

Mac OS Xのbashでは、次のことができます。

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

出力: 1994-07-18


1
しばらくこれを探していました。感謝します。数字の「348」をbashスクリプトの変数に置き換えたかったのです。私NEXT_DATE=$(date -j -v +$(( incrementDays ))d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d)はこれをやろうとしている他の誰かのために終わった。
イアンG

1

これのもう少し複雑な使用法はここにあります:

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

またはパイプ付き:

seq 1 5 | xargs -I {} date -d "2014-02-01 {} days" +%Y-%m-%d
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.