web-dev-qa-db-ja.com

カレンダーで日付を確認し、3か月前に検索して、それらの月の日を合計します

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日までのすべての日を合計して、その計算結果を表示したいと思います。

2
user2995836

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
3
iruvar