日期命令返回今天的日期加上一个月或两个月的同月

时间:2016-01-31 06:24:02

标签: shell

今天是2016-01-31。当我使用

date -d 'next month' +"%d"

我希望它返回02,我得到02。但请注意:

[/bazar]$date +"%Y%m%d"
20160131
[/bazar]$date -d '+1 month' +"%Y%m"
201603
[/home/bazar]$date -d '+2 month' +"%Y%m"
201603
[/home/bazar]$date -d '+3 month' +"%Y%m"
201605

为什么+1 month+2 month都返回201603

1 个答案:

答案 0 :(得分:1)

日期非常按字面意思提出您的请求,并尝试使用2月31日的日期(因为您提供的日期是1月31日),因为它不存在,所以它会移动到第二天,所以它会返回03(1个月)。