web-dev-qa-db-ja.com

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

たとえば、1993年8月4日の日付があり、それに348日を追加したいのですが、bashでそれを行うにはどうすればよいですか?

24
inothemo

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

$ 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                                           
30
Dave Webb

Mac OS Xのbashでは、これを行うことができます。

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

出力:1994-07-18

12
Tom Söderlund

これはもう少し複雑な使い方です:

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
1
Bohdan