时间:2021-07-23 07:39:26 | 栏目:Shell | 点击:次
如下所示:
date -d"$(date -d'2016-03-19 1 month' +'%Y-%m-01') -1 days" +"%F"
分析
1.先将给定的日期加一个月,并输出该月的一号
2.再减一天就得到所要的月末日期.
考虑到单引号里面不能塞变量我们换一种写法:
[wenba@bi_test_c investor_data]$ begindate='2015-11-01' [wenba@bi_test_c investor_data]$ mid=$(date -d"$begindate 1 month" +'%Y-%m-01') [wenba@bi_test_c investor_data]$ enddate=$(date -d "$mid -1 days" +"%F") [wenba@bi_test_c investor_data]$ echo $mid 2016-12-01 [wenba@bi_test_c investor_data]$ echo $enddate 2016-11-30