日历检查日期,然后搜索 3 个月前并将这些月份的天数相加

日历检查日期,然后搜索 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日的所有天数相加,然后显示该计算的结果。

答案1

bash和 GNUdate

#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

相关内容