linux过滤掉休息日
- 过滤周六日
- 过滤节假日
过滤周六日,提取weekday=`date -d "$start_day" +%w`,过滤0和6
由于节假日不具有规律,单独处理,一个一个去判断
elif [[ $start_day -eq '20210211' ]] || [[ $start_day -eq '20210212' ]] || [[ $start_day -eq '20210215' ]] || [[ $start_day -eq '20210216' ]] || [[ $start_day -eq '20210217' ]];then
休息日过滤器完整代码
#!/bin/bash
start_day=20210102
end_day=20210311
while [[ $end_day -ge $start_day ]]
do
weekday=`date -d "$start_day" +%w`
if [[ $weekday -eq 0 ]] || [[ $weekday -eq 6 ]];then
echo $start_day 是休息日
elif [[ $start_day -eq '20210211' ]] || [[ $start_day -eq '20210212' ]] || [[ $start_day -eq '20210215' ]] || [[ $start_day -eq '20210216' ]] || [[ $start_day -eq '20210217' ]];then
echo $start_day 是春节
else
echo $start_day 正常
fi
start_day=`date -d "$start_day +1 day " +%Y%m%d`
done