shell获取一个月最后以后的周一日期
#!/bin/bash
#####获取账期参数 例如:20190101
DAY_ID=$1
#####获取账期的月份 例如:201901
MONTH_ID=${DAY_ID:0:6}
#####获取账期所在月份的最后一天数据 例如:20190131
LAST_DAY_ID=`date -d "$(date -d "${MONTH_ID}01 1 month" +%Y%m%d) -1 day" +%Y%m%d`
#####获取最后一天是周几,周日->0,周一->1 .......周六->6
LAST_MONTH=`date -d "${LAST_DAY_ID}" +%w`
echo ${LAST_DAY_ID}
echo ${LAST_MONTH}
if [ ${LAST_MONTH} = "2" ]
then
LAST_DAY_ID=$(date -d "${LAST_DAY_ID} -1 day" +%Y%m%d)
elif [ ${LAST_MONTH} = "3" ]
then
LAST_DAY_ID=$(date -d "${LAST_DAY_ID} -2 day" +%Y%m%d)
elif [ ${LAST_MONTH} = "4" ]
then
LAST_DAY_ID=$(date -d "${LAST_DAY_ID} -3 day" +%Y%m%d)
elif [ ${LAST_MONTH} = "5" ]
then
LAST_DAY_ID=$(date -d "${LAST_DAY_ID} -4 day" +%Y%m%d)
elif [ ${LAST_MONTH} = "6" ]
then
LAST_DAY_ID=$(date -d "${LAST_DAY_ID} -5 day" +%Y%m%d)
elif [ ${LAST_MONTH} = "1" ]
then
LAST_DAY_ID=${LAST_DAY_ID}
else
LAST_DAY_ID=$(date -d "${LAST_DAY_ID} -6 day" +%Y%m%d)
fi