ToolActToolAct

근무일 계산기

날짜 범위 내 실제 근무일수 계산

근무일 계산

근무일 계산기는 무엇인가요?

근무일 계산기는 지정한 기간에서 주말과 입력한 공휴일 수를 제외해 실제로 사용할 수 있는 근무일을 세는 도구입니다. 납기 산정, 휴가 일수 확인, 급여 계산, 청구 주기, 채용 일정, 프로젝트 계획처럼 전체 달력 일수만으로는 부족한 경우에 유용합니다. 근무일은 자연일과 다릅니다. 토요일/일요일 주말, 금요일/토요일 주말, 지역 공휴일, 회사 휴무일, 대체 근무일, 반차 규칙에 따라 결과가 달라질 수 있습니다. 이 도구는 사용자가 선택한 주말 패턴과 공휴일 수를 바탕으로 빠른 계획용 결과를 제공합니다. 인사, 계약, 법적 용도로는 공식 달력과 회사 규정을 다시 확인해야 합니다.

사용 방법

사용 방법

  1. 시작일과 종료일을 입력하세요
  2. 주말 제외 옵션을 선택하세요 (토-일 / 금-토 / 없음)
  3. 공휴일 수를 입력하세요 (선택 사항)
  4. '근무일 계산'을 클릭하여 결과를 확인하세요

캘린더 가정

  • 계산 전에 주말 규칙을 설정하세요. 금-토, 토-일, 주말이 없는 캘린더는 서로 다른 결과가 나옵니다.
  • 공휴일과 회사 휴무일을 제외하려면 별도로 입력해야 합니다.

활용 사례

두 날짜 사이의 실제 근무 역량 추정포함되는 시작일과 종료일을 선택하면 총 일수, 주말 일수, 수동 입력 공휴일, 남은 근무일이 계산됩니다. 전체 달력 검토 전에 대략적인 스프린트 역량, 납기 계획, 온보딩 기간, SLA 논의에 유용합니다.
지역이나 팀 일정에 맞게 주말 규칙 적용하나의 글로벌 근무주를 가정하지 않고 토요일/일요일, 금요일/토요일, 주말 제외 없음을 선택하세요. 분산 팀, 국경 간 벤더, 비표준 캘린더를 운영하는 조직에 더 유용한 계산이 됩니다.
휴가, 조달, 인수인계 일정 점검알려진 공휴일 수를 입력하여 근무일 합계에서 빼고, 결과를 계획 체크포인트로 사용하세요. 도구는 지역 공휴일 날짜, 대체 근무일, 반차, 회사별 휴무를 알지 못하므로 최종 마감은 공식 달력으로 확인해야 합니다. 한국식 일정에는 보통 토요일이나 일요일을 근무일로 바꾸는 조휴(調休)가 포함되는데, 이는 자동으로 반전되지 않습니다. 페이지는 주말 패턴과 공휴일 수만 보므로 설날 조휴 주간은 공휴일 필드에 수동으로 반영하거나 주말 규칙을 조정해야 합니다.
같은 기간에 공휴일 수를 바꿔가며 시나리오 비교공휴일 입력을 0에서 5, 10, 15로 바꿔 재계산하면 일정이 공격적인지 보수적인지 확인할 수 있습니다. 시각적 차이는 해당 기간의 공휴일에 대해 다른 정신 모델을 가진 이해관계자에게 마감을 변론할 때 유용합니다. 서양 달력의 경우 연방 공휴일 목록(신정, 마틴 루터 킹 데이, 대통령의 날, 메모리얼 데이, 준틴스, 독립기념일, 노동절, 콜럼버스/원주민의 날, 참전용사의 날, 추수감사절, 크리스마스)은 보통 연간 10~11 근무일을 차지하며, 2025~2027 목록은 OPM이 미리 공개하므로 직접 조회할 수 있습니다.
근무일 결과를 다시 달력 날짜로 변환같은 주말 규칙으로 근무일 수를 알려진 시작일에 더하는 관련 날짜 산술 도구에 결과를 입력으로 사용하세요. Jira, SLA 필드, 채용 패널 초대에 바로 넣을 수 있는 예상 종료일이 나옵니다.

기술 원리

근무일 수는 포함 범위 `[start, end]` 내에서 주말도 공휴일도 아닌 달력 일수입니다. 양쪽 경계가 UTC 자정으로 정규화된 경우 표준 포함 끝점 공식은 `total_days = (end - start) / 86_400_000 + 1`이며, 여기서 주말과 공휴일을 뺍니다. 요일은 `Date.prototype.getDay()`에서 가져오며, 일요일은 `0`, 토요일은 `6`을 반환합니다. 주의할 점은 `getDay()`는 `getDate()`가 아니며, 결과는 브라우저의 로컬 시간대 기준이므로 UTC 날짜 문자열이 자정을 넘으면 예상과 다른 요일에 위치할 수 있습니다. 주말 패턴은 지역에 따라 다릅니다: 글로벌 기본값은 토요일-일요일(서양, 인도, 아시아 대부분)이지만, 중동은 역사적으로 목요일-금요일을 사용했고 2024년 기준 대부분의 걸프 국가(UAE, 바레인, 쿠웨이트, 카타르)는 금요일-토요일 또는 금요일 반나절이 포함된 토요일-일요일로 맞추었습니다. 이란, 아프가니스탄, 남아시아 일부는 여전히 금요일만 휴무이며, 이스라엘은 금요일-토요일입니다. 이 도구는 토-일, 금-토, 없음 세 가지 일반 프리셋을 제공하며, 공휴일 수가 나머지를 뺄셈으로 커버합니다. 계산 알고리즘 자체에는 두 가지 실용적 구현이 있습니다. 단순 반복은 하루씩 걷습니다: `for (let d = start; d <= end; d.setDate(d.getDate()+1)) if (![0,6].includes(d.getDay())) count++`. 이는 달력 일수에 대해 O(n)이며 읽기 쉽습니다. 폐쇄형 대안은 `full_weeks * 5 + partial_week_workdays`를 계산하여 O(1)로 실행되며, 이는 여러 해에 걸친 범위에서 중요합니다. 주말에 떨어지는 공휴일은 이중으로 빼면 안 되므로, 정규 패턴은 `holidays.filter(h => !isWeekend(h)).length`로 공휴일 집합을 필터링합니다. 중국의 调休(보충 근무일) 정책은 순수 주말 패턴 로직으로는 표현할 수 없는 추가 사항이 있습니다: 국무원이 매년 특정 토요일이나 일요일을 근무일로 전환하여 연장된 춘절 또는 국경일 휴가를 보상하는 목록을 발표하므로, 중국 달력의 경우 공휴일 목록과 명시적인 보충 근무일 목록을 쌍으로 구성해야 하며 요일 규칙에만 의존할 수 없습니다.

  • 포함 범위 공식: `total_days = (end - start) / 86_400_000 + 1`, DST 이동을 방지하기 위해 두 날짜를 UTC 자정으로 정규화합니다.
  • `Date.prototype.getDay()`는 브라우저의 로컬 시간대에서 0(일)~6(토)을 반환합니다 — UTC가 아니므로, 시간대에 민감한 코드는 `getUTCDay()`를 사용해야 합니다.
  • 주말 프리셋: 토-일(서양, 인도, 아시아 대부분), 금-토(2006~2013년 이후 대부분의 걸프 국가), 금만(이란), 없음(24시간 운영).
  • O(1) 폐쇄형: `full_weeks * 5 + extra_workdays_in_partial_week`; 다년 범위에서는 일별 반복보다 선호됩니다.
  • 주말에 떨어지는 공휴일은 이중 계수하면 안 됩니다: 원시 공휴일 수가 아닌 `holidays.filter(h => !isWeekend(h)).length`를 뺍니다.
  • 중국 국무원 调休: 특정 토요일/일요일이 연장 휴가를 보상하기 위해 법정 근무일이 됩니다; 명시적인 보충 근무일 목록이 필요합니다.
  • 미국 연방 공휴일(5 U.S.C. § 6103 기준)은 달력 연도당 평균 11일을 차지합니다: 신정, 마틴 루터 킹 데이, 대통령의 날, 메모리얼 데이, 준틴스, 독립기념일, 노동절, 콜럼버스의 날, 참전용사의 날, 추수감사절, 크리스마스.

예시

2026년 한 해 평일 수

시작일:    2026-01-01
종료일:    2026-12-31
주말:      토요일 & 일요일
공휴일:    13  (중국 법정 공휴일, 调休 조정 후 기준)

전체 일수:   365
주말 일수:   104
공휴일:      13
평일:        248

2주 스프린트 작업 가능량

시작일:    2026-06-15 (월요일)
종료일:    2026-06-26 (금요일)
주말:      토요일 & 일요일
공휴일:    0

전체 일수:   12
주말 일수:   2
평일:        10  (2주 스프린트 풀 가동, 개발자 4명 => 40 인일 가동량)

금-토 주말을 사용하는 중동 팀

시작일:    2026-09-01
종료일:    2026-09-30
주말:      금요일 & 토요일
공휴일:    1  (지역 공휴일)

전체 일수:   30
주말 일수:   8   (9월의 금 + 토)
평일:        21

공휴일 이후 온보딩 기간

시작일:    2026-10-08  (국경절 연휴 이후 첫 평일)
종료일:    2026-10-30
주말:      토요일 & 일요일
공휴일:    0

전체 일수:   23
주말 일수:   6
평일:        17  (3주 온보딩 계획에 충분한 시간)

미국 연방 공휴일 기준 2027 1분기 계획

시작일:    2027-01-01
종료일:    2027-03-31
주말:      토요일 & 일요일
공휴일:    4  (New Year, MLK Day, Presidents Day, Good Friday)

전체 일수:   90
주말 일수:   26
평일:        60

자주 묻는 질문

근무일은 어떻게 계산되나요?

기본적으로 월~금요일을 근무일로 보고 토·일요일은 제외합니다. 휴일 목록에 입력한 공휴일도 함께 제외됩니다. 페이지에는 전체 달력일, 주말 일수, 휴일 일수, 그리고 최종 근무일 수가 표시됩니다.

공휴일이 자동으로 적용되나요?

아니요. 본 계산기는 공휴일을 자동으로 불러오지 않습니다. 휴일 일수를 직접 입력해야 합니다. 정확한 일수는 해당 국가의 공식 달력을 확인하세요.

대체 근무일(중국의 调休 등)도 처리하나요?

아니요. 본 계산기는 주말과 입력한 휴일 일수만 제외합니다. 중국의 调休(대체 근무) 같은 정책은 자동 처리하지 않으므로, 일정에 대체 근무일이 포함된다면 주말 규칙이나 휴일 일수를 직접 조정하세요.

주말만 제외하고 휴일은 빼지 않을 수 있나요?

네. 휴일 목록을 끄면 토·일요일만 제외하고 계산합니다. 또한 주말로 처리할 요일을 직접 지정할 수도 있어, 금~토를 주말로 쓰는 일부 중동 일정에도 대응할 수 있습니다.

이 도구와 날짜 차이 도구는 어떻게 다른가요?

날짜 차이 도구는 달력일 수를 반환하고, 이 도구는 주말과 휴일을 뺀 근무일 수를 반환합니다. 프로젝트 마감, 계약 일자, SLA 기간에는 이 도구를, 단순 경과 시간에는 날짜 차이 도구를 사용하세요.

과거 날짜에도 사용할 수 있나요?

네. 과거든 미래든 두 날짜 사이의 근무일을 계산할 수 있습니다. 시작일과 종료일을 입력하고 주말 규칙과 휴일 일수를 지정하면 해당 기간의 총 근무일이 계산됩니다.

내 데이터가 업로드되나요?

아니요. 계산은 브라우저에서 이루어집니다. 휴일 일수와 날짜는 저장되거나 전송되지 않습니다.