날짜 더하기·빼기 계산 실전 가이드: 만기일·납기일·영업일 처리
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
목차
"3개월 후가 몇 월 며칠이지?", "납부 기한 90일 후는?", "계약 만료일이 1년 후면?", "잔금일이 영업일 기준 5일 후면?" 같은 질문처럼,
날짜 계산은 생각보다 복잡합니다. 달마다 일수가 다르고, 윤년이 있으며, 한국 영업일·공휴일까지 고려해야 합니다.
이 글은 날짜 더하기·빼기의 기본 원리, 한국 부동산·금융에서의 만기일·잔금일 계산,
영업일 처리, 윤년 규칙, JavaScript 날짜 라이브러리 비교까지 한 번에 정리합니다.
날짜 계산이 복잡한 이유#
단순히 일수를 더하면 되는 것처럼 보이지만, 실제로는 달력의 구조가 복잡합니다.
- 월별 일수: 28일, 29일, 30일, 31일로 제각각
- 윤년: 4년마다 2월이 29일(예외 규칙 있음)
- 업무일 기준: 주말·공휴일 제외 계산이 필요한 경우
- 타임존: 자정 기준 계산이라 시간대 차이로 날짜가 달라질 수 있음
예를 들어, 1월 31일에서 1개월 후는 2월 28일(또는 29일)이지, 3월 3일이 아닙니다.
날짜 더하기·빼기 기본 사용법#
날짜 더하기 계산기에서:
- 기준 날짜 입력(또는 오늘 날짜 자동 입력)
- 더하거나 뺄 일수/월수/년수 입력
- 결과 날짜 즉시 확인
도구는 윤년·말일 규칙·영업일을 모두 자동 처리합니다.
실생활 활용 사례#
1. 대출·적금 만기일 계산#
예시 1: 2026년 2월 15일 가입, 만기 12개월
2026-02-15 + 12개월 = 2027-02-15
예시 2: 2026년 3월 31일 가입, 만기 3개월
2026-03-31 + 3개월 = 2026-06-30
(6월은 30일까지이므로 마지막 날로 조정)
은행 약관에 따라 만기일이 영업일이 아닌 경우 다음 영업일로 자동 조정됩니다.
2. 세금·공과금 납기일#
국세·지방세·건강보험료 등은 "고지서 발송일로부터 N일 이내" 형식이 많습니다.
예시: 2026년 3월 1일 고지, 납부 기한 30일
2026-03-01 + 30일 = 2026-03-31
| 한국 주요 세금 신고/납부 기한 |
|---|
| 종합소득세 신고: 매년 5월 1일–5월 31일 |
| 부가세 1기 확정신고: 7월 25일까지 |
| 부가세 2기 확정신고: 1월 25일까지 |
| 종합부동산세 납부: 12월 1일–12월 15일 |
| 재산세 1기: 7월 16일–7월 31일 |
| 재산세 2기: 9월 16일–9월 30일 |
| 자동차세 1기: 6월 16일–6월 30일 |
| 자동차세 2기: 12월 16일–12월 31일 |
3. 부동산 잔금일 계산#
부동산 거래에서 계약일·중도금일·잔금일은 일정한 간격으로 정해집니다.
계약금: 2026-03-01 (계약 시 즉시)
중도금: 2026-04-15 (계약 후 약 45일)
잔금: 2026-05-31 (계약 후 약 90일, 등기 이전일)
부동산 잔금일은 보통 영업일 기준이 아니라 달력일이지만,
잔금일이 토·일·공휴일이면 보통 직전 또는 다음 영업일로 협의합니다.
4. 계약 기간 만료일#
임대차 계약: 2년 계약 시작일 기준 만료일 계산
2024-04-01 + 2년 = 2026-04-01
(시작일 당일은 포함하지 않는 것이 일반적)
소프트웨어 라이선스: 구독 시작일 + 1년
시용기간: 입사일 + 3개월
전세 계약 갱신청구권: 계약 갱신 만기 6개월~2개월 전 행사 가능
5. 의약품·식품 유효기간#
의약품: 제조일로부터 N년(포장지 제조연월 + 유효기간)
제조 2024년 06월 + 유효 36개월 = 2027년 06월
식품 유통기한은 2023년부터 소비기한으로 변경(통상 더 길어짐).
6. 프로젝트 마감일 역산#
마감일에서 역으로 계산해 작업 시작일을 산출할 때도 사용합니다.
마감일: 2026-04-30
필요 기간: 45일
시작해야 할 날: 2026-04-30 - 45일 = 2026-03-16
업무일 기준으로 역산하면 주말·공휴일 제외해 더 빠른 시작일이 필요합니다.
월 더하기 시 말일 처리 규칙#
월을 더할 때 해당 월에 결과 날짜가 없으면 그 달의 마지막 날로 처리합니다.
| 기준일 | +1개월 | 결과 |
|---|---|---|
| 1월 31일 | 2월 31일 없음 | 2월 28일(또는 29일) |
| 3월 31일 | 4월 31일 없음 | 4월 30일 |
| 8월 31일 | 9월 31일 없음 | 9월 30일 |
| 12월 31일 | 1월 31일 있음 | 다음 해 1월 31일(조정 없음) |
이 규칙은 금융 업계에서 "말일 규칙"(End-of-Month Rule)으로 표준화되어 있습니다. 만기일이 매월 말일인 적금·대출은 자동으로 이 규칙을 적용합니다.
윤년 확인 방법#
윤년 판별 규칙#
- 4로 나누어 떨어지는 해 → 윤년 후보
- 단, 100으로 나누어 떨어지면 → 평년
- 단, 400으로 나누어 떨어지면 → 다시 윤년
| 연도 | 윤년 여부 | 비고 |
|---|---|---|
| 2024 | 윤년 | 4의 배수 |
| 2025 | 평년 | |
| 2026 | 평년 | |
| 2027 | 평년 | |
| 2028 | 윤년 | 4의 배수 |
| 2100 | 평년 | 100의 배수 |
| 2000 | 윤년 | 400의 배수 |
2026년은 평년(2월 = 28일)입니다.
윤년 영향#
- 1년 = 365일(평년) 또는 366일(윤년)
- 2월 29일 출생자는 평년에는 2월 28일 또는 3월 1일에 생일을 기념
- 자동차세·재산세 등 일할 계산 시 윤년 분모(366) 사용
한국 영업일 기준 계산#
법적·계약적 "영업일 기준" 계산이 필요한 경우 주말과 공휴일을 제외해야 합니다.
영업일 정의#
일반 영업일: 월–금(주 5일), 공휴일 제외
금융 영업일: 일반 영업일과 거의 동일하나, 은행 휴무일(예: 명절 임시휴업) 별도 적용
증권 거래일: 한국거래소 운영일(평일 + 일부 공휴일 제외)
한국 공휴일(2026년 기준)#
| 날짜 | 공휴일 |
|---|---|
| 1월 1일(목) | 신정 |
| 2월 16–18일(월–수) | 설날 연휴 |
| 3월 1일(일) | 삼일절 |
| 5월 5일(화) | 어린이날 |
| 5월 24일(일) | 부처님오신날 |
| 6월 6일(토) | 현충일 |
| 8월 15일(토) | 광복절 |
| 9월 24–26일(목–토) | 추석 연휴 |
| 10월 3일(토) | 개천절 |
| 10월 9일(금) | 한글날 |
| 12월 25일(금) | 성탄절 |
대체공휴일은 공휴일이 토·일과 겹치면 다음 평일로 지정됩니다(설·추석·어린이날·삼일절·광복절·개천절·한글날 적용).
정확한 매년 일정은 행정안전부 또는 공공데이터포털에서 확인.
영업일 N일 후 계산 예시#
예시: "영업일 5일 후 입금"의 경우(2026-03-04 수요일 신청)
수(3/4) → 목(3/5), 금(3/6), 월(3/9), 화(3/10), 수(3/11)
→ 다음 주 수요일(3/11) 입금
공휴일이 포함되면 하루씩 더 밀립니다.
한국 부동산·금융 관행#
- 잔금일: 보통 달력일이지만 토·일·공휴일은 협의로 직전·다음 영업일 조정
- 만기일: 영업일 아니면 다음 영업일로 자동 이연
- 수표 결제: 영업일 기준 +1일 또는 +2일
- 세금 신고: 마지막 날이 공휴일이면 다음 영업일까지 연장
JavaScript 날짜 라이브러리 비교#
직접 날짜 계산을 구현할 때 사용할 수 있는 라이브러리입니다.
| 라이브러리 | 크기(min+gz) | 특징 | 권장 |
|---|---|---|---|
내장 Date | 0 KB | 한정 기능, 함정 많음 | 단순 |
date-fns | 약 13 KB | 함수형, tree-shakable | 권장 |
dayjs | 약 7 KB | Moment.js 호환, 가벼움 | 권장 |
Luxon | 약 22 KB | 시간대 처리 강력 | 시간대 중요 |
Moment.js | 약 70 KB | 레거시, 유지보수 종료 | 비권장 |
date-fns 예시#
import { addMonths, subDays, format, isWeekend, addBusinessDays } from "date-fns";
import { ko } from "date-fns/locale";
const today = new Date(2026, 4, 4); // 2026-05-04
// 3개월 후
const future = addMonths(today, 3);
format(future, "yyyy-MM-dd", { locale: ko }); // "2026-08-04"
// 30일 전
const past = subDays(today, 30);
// 영업일 5일 후(주말 제외, 공휴일 별도 처리 필요)
const businessDay = addBusinessDays(today, 5);
// 주말 여부
isWeekend(today); // false (월요일)
dayjs 예시#
import dayjs from "dayjs";
const today = dayjs("2026-05-04");
today.add(3, "month").format("YYYY-MM-DD"); // "2026-08-04"
today.subtract(30, "day").format("YYYY-MM-DD"); // "2026-04-04"
today.add(1, "year").format("YYYY-MM-DD"); // "2027-05-04"
// 두 날짜 차이
const diff = dayjs("2026-12-31").diff(today, "day"); // 241
한국 공휴일 처리#
내장 라이브러리는 한국 공휴일을 자동 처리하지 않습니다. 다음 옵션이 있습니다.
- 공공데이터포털 API: 한국천문연구원 공휴일 정보(매년 갱신)
@hyunbinseo/holidays-kr: npm 패키지(한국 공휴일 미리 정의)- 수동 정의: 매년 공휴일 배열을 코드에 정의
자주 묻는 질문#
Q. 1년 후와 365일 후는 다른가요?
A. 윤년 포함 여부에 따라 다릅니다. "1년 후"는 같은 월·일을 기준으로 하지만,
"365일 후"는 정확히 365일을 더합니다. 2024년 3월 1일 + 1년 = 2025년 3월 1일이지만, + 365일 = 2025년 3월 1일(2024년은 윤년이라 366일이 맞아 같은 결과). 다만 윤년이 끼면 다른 결과가 나옵니다.
Q. 날짜를 빼면 날짜 간격(일수)도 계산되나요?
A. 날짜 빼기 계산기는 두 날짜 사이의 일수를 계산합니다. 날짜 차이 계산기를 이용하세요.
Q. 한국 영업일을 정확히 계산하는 방법은?
A. 공공데이터포털의 "한국천문연구원 특일 정보" API에서 매년 공휴일을 가져와
주말·공휴일을 제외한 영업일 계산을 수행합니다. 매년 1월 또는 12월에 다음 해 일정이 공개됩니다.
Q. 만 나이 계산은 어떻게 하나요?
A. 2023년 6월 28일부터 한국에서도 만 나이가 표준이 되었습니다. 만 나이 = 현재 연도 - 출생 연도 - (생일 안 지났으면 1).
const birthYear = 1990;
const today = new Date();
const age = today.getFullYear() - birthYear -
(today.getMonth() < 5 || (today.getMonth() === 5 && today.getDate() < 15) ? 1 : 0);
Q. 부동산 잔금일이 공휴일이면 어떻게 되나요?
A. 계약서에 "잔금일이 공휴일인 경우 직전 또는 다음 영업일로 한다"고 명시하는 것이 일반적입니다. 부동산 등기는 평일에만 가능하므로
잔금일·등기 이전일이 공휴일이면 협의 필요.
Q. 시용기간 3개월 후 정규직 전환일은?
A. 입사일 + 3개월. 단, 시용기간 만료일이 토·일이면 직전 평일로 조정하거나 다음 평일로 조정 가능. 회사 인사 규정 확인.
Q. 종합소득세 5월 31일이 토요일이면?
A. 다음 평일(6월 1일 또는 2일)까지 연장됩니다. 국세기본법 제5조에 의해 신고·납부 기한이 공휴일·토요일과 겹치면 다음 영업일로 연장.
Q. 의약품 유효기간은 일자까지 정확한가요?
A. 보통 "월 단위"로 표기됩니다. 예: "2027년 06월"은 2027년 6월 30일까지 유효. 단, 개봉 후에는 별도 보관 지침을 따라야 합니다.
날짜 더하기·빼기 도구 활용#
날짜 더하기 계산기에 기준 날짜와 더하거나 뺄 기간을 입력하면 즉시 결과 날짜를 표시합니다. 영업일·일반일 옵션 선택 가능.
날짜 관련 다른 도구가 필요하다면 날짜 차이 계산기에서 두 날짜 간격을, D-Day 계산기에서 카운트다운을,
요일 계산기에서 특정 날짜의 요일을, 세계 시간대 변환기에서 시차 변환을 확인할 수 있습니다.