Linux如何得到上月月末日期

如题所述

echo `date +%d` | xargs -I{} date -d '-{} day' +%Y%m%d

希望对你有帮助。

追问

如果是3月份,得到上月月末 好像少一天?

追答

2013年2月份就只有28天。 希望对你有帮助。


温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-08-12
Linux shell 获取上上月月末日期

v_curr_rq=`date +%Y%m%d`
v_rq=`date -d "yesterday" +%Y%m%d`
v_lm=`date +%Y%m01`
v_lm_rq=`date -d "${v_lm} last day" +%Y%m%d`
v_llm_rq=`date -d "${v_lm} last month last day" +%Y%m%d`

#当前日期
echo ${v_curr_rq}

#昨天日期
echo ${v_rq}

#本月月初
echo ${v_lm}

#上个月月末
echo ${v_lm_rq}

#上上个月月末
echo ${v_llm_rq}本回答被网友采纳
第2个回答  2013-10-16
date -d `date +%e`'days ago' +%Y%m%d

可以试试这个追问

我想不管今天几号 都能得到上月末日期?

追答

应该可以

date +%e 可以得到今天试这个月的第几天
然后 date -d '数字 days ago' 可以取到n天前的日期,取到这个月第n天之前的n天结果就是上个月的最后一天

第3个回答  2013-10-16
1、上个月末
date -d `date +%y%m01`"-1 day" +%d
2、往前倒
date -d -`date +%d`day +%d
3、条件
if [`date +%d -d tomorrow` == 01 ];
4、上个月
date -d last-month
date -d -1month
5、下个月
date -d next-month
date -d 1month
6、本月初
date -d 1`date +%B`
上个月初
date -d 1`date -d last-month +%B`
指定月份
day -d 1May
相似回答