下个月用date命令?

Gre*_*reg 3 bash date

我在我的一个脚本中有这个,我相信它已经工作了很长时间.今天下个月的说法是五月?

#date
Mon Mar 31 15:30:13 BST 2014

#date +"%B %Y" --date="+1 month"
May 2014
Run Code Online (Sandbox Code Playgroud)

任何人都知道问题是什么 - 我应该使用更好的"下个月"脚本吗?

Tim*_*mah 14

GNU手册页:

日期单位中的模糊可能会导致相关项目出现问题.例如,'2003-07-31 -1 month'可能会评估为2003-07-01,因为2003-06-31是无效日期.要更可靠地确定上个月,您可以要求当月15日之前的月份

您可以使用所有月份中存在的日期:

date +"%B %Y" --date="$(date +%Y-%m-15) next month"
Run Code Online (Sandbox Code Playgroud)

结果:

April 2014
Run Code Online (Sandbox Code Playgroud)