我在下面使用Ubuntu11.04 获取之前,当前和下个月:
LAST_MONTH=`date +'%m' -d 'last month'`
NEXT_MONTH=`date +'%m' -d 'next month'`
THIS_MONTH=`date +'%m' -d 'now'`
Run Code Online (Sandbox Code Playgroud)
它运作良好,直到今天,即2012年10月的最后一天(2012-10-31)
我现在得到以下结果:
$ date
Wed Oct 31 15:35:26 PDT 2012
$ date +'%m' -d 'last month'
10
$ date +'%m' -d 'now'
10
$ $ date +'%m' -d 'next month'
12
Run Code Online (Sandbox Code Playgroud)
我想输出应该是9,10,11分别.
不明白为什么date输出表现得像这样.什么应该是一个很好的方法来获得一致previous,current而next月份呢?
我试图获得本月或上个月的最后一天,我用来解决这个“问题”的方法是检查:
if [ $DAY -eq 1 ]; then
code here;
fi
Run Code Online (Sandbox Code Playgroud)
如果一天是 1,那么它说我在新的一个月,所以我也需要做备份。
例如,你们知道如果今天是“1 月 31 日”月份的最后一天,我该如何检查???
谢谢!!!!