범위 내의 영업일 찾기

범위 내의 영업일 찾기

다음 영업일(월요일부터 금요일까지)만 필요합니다(bash에서).

#!/bin/bash
startdate=20141030
enddate=20141120

dates=()
for (( date="$startdate"; date != enddate; )); do
    dates+=( "$date" )
    date="$(date --date="$date + 1 days" +'%Y%m%d')"
done
echo "${dates[@]}"

답변1

스크립트를 다음과 같이 변경합니다.

#!/bin/bash
startdate=20141030
enddate=20141120

dates=()
for (( date="$startdate"; date != enddate; )); do
    if [ "$(date --date="$date" +'%u')" -le "5" ]; then
      dates+=( "$date" )
    fi
    date="$(date --date="$date + 1 days" +'%Y%m%d')"
done
echo "${dates[@]}"

방금 if배열에 날짜를 추가하기 전에 - 절을 추가했습니다. %u 시퀀스는 다음 date을 나타냅니다.

    %u     day of week (1..7); 1 is Monday

-le따라서 값이 ( ) 보다 작거나 같으면 5월요일부터 금요일까지입니다.

관련 정보