Calコマンドまたはdateコマンドを使用して現在の日付を表示し、次に現在の日付の3か月前に表示して、その3か月から現在の日までのすべての日を合計します。これを行う方法はありますか?
したがって、今日の日付は次のように表示されます。
Fri Dec 19 13:23:36 GMT 2014
3か月前は次のようになります。
Fri Sep 19 13:23:36 GMT 2014
Linuxで9月19日から12月19日までのすべての日を合計して、その計算結果を表示したいと思います。
bash
およびGNU date
#grab today's date in YYYYMMDD format
today=$(date +%Y%m%d)
#grab date as of 3 months ago in YYYYMMDD format
three_months_ago=$(date +%Y%m%d --date='3 months ago')
#now convert dates to "seconds since Epoch" format, and then divide the difference by 60*60*24 to convert from seconds to days
printf '%d\n' $(( ($(date --date=$today +%s) - \
$(date --date=$three_months_ago +%s))/(60*60*24) ))
91