D-Day에서 ‘며칠 차이’와 ‘며칠째’를 구분하는 법
계약·행사·기념일에서 날짜 사이 간격과 양 끝을 포함한 운영 일수를 구분하고 윤년·역순을 검증합니다.
마지막 검토: 2026년 8월 25일 · 로직 버전 20260724-1 · 검증 벡터 윤년/역순/포함 여부
PROBLEM
왜 이 구분이 필요한가
2024년 2월 28일부터 3월 1일까지는 두 날짜 사이 간격으로는 2일이지만 2월 28일, 29일, 3월 1일을 모두 세면 3일째입니다. 계약 기간, 숙박 일수, 행사 운영일은 각각 포함 규칙이 다르므로 ‘며칠 차이’와 ‘며칠째’를 먼저 합의하지 않으면 같은 날짜로 다른 답을 냅니다.
PROCEDURE
실무 적용 순서
시작일과 종료일을 YYYY-MM-DD로 적고 시각은 분리합니다. 경과 간격이 필요하면 기본 날짜 차이를, 시작일과 종료일을 모두 운영일로 세면 양 끝 포함을 선택합니다. 종료일이 과거라면 절댓값만 보지 말고 D+ 방향 표시를 확인합니다. 일수 더하기는 달이나 연도가 아니라 정수 일수로 입력하고 윤년 결과를 검토합니다. 업무 마감이라면 별도의 영업일 캘린더를 적용합니다.
BASIS
계산과 검증 근거
각 ISO 날짜를 UTC 자정으로 바꾸고 두 값의 차이를 86,400,000ms로 나눕니다. 양 끝 포함은 차이에 1을 더합니다. UTC 날짜 산술을 쓰므로 현지 DST로 하루가 23시간이나 25시간이 되는 영향을 피합니다. 2024-02-29에 365일을 더하면 2025-02-28이 됩니다.
LIMITS
지원 범위와 한계
유효한 YYYY-MM-DD만 허용하고 시각과 시간대는 다루지 않습니다. 역순은 절댓값과 방향을 따로 표시합니다. 같은 날짜를 양 끝 포함하면 1일입니다. 더하기와 빼기는 정수만 허용하며 영업일, 공휴일, 휴일 제외와 월말 관행은 지원하지 않습니다.
WORKED EXAMPLES
직접 재현할 예제
윤년 구간
- 입력
- 2024-02-28 → 2024-03-01
- 결과
- 기본 2일 / 양 끝 포함 3일
2월 29일이 구간에 포함됩니다.
윤일에서 365일
- 입력
- 2024-02-29 + 365일
- 결과
- 2025-02-28
연도 더하기가 아니라 정확히 365일을 더한 결과입니다.
역순 D-Day
- 입력
- 2026-07-29 기준 2026-07-22
- 결과
- D+7
날짜 차이는 7일이고 목표일이 이미 지났음을 방향으로 표시합니다.
같은 날짜 포함
- 입력
- 2026-08-25 → 2026-08-25, 양 끝 포함
- 결과
- 1일
한 날짜를 운영일 하나로 셉니다.
FAQ
자주 묻는 질문
영업일도 계산하나요?
아니요. 주말과 공휴일을 제외하지 않는 달력 날짜 계산입니다.
같은 날짜를 포함하면 왜 1일인가요?
시작일과 종료일이 같은 하나의 달력 날짜를 세기 때문입니다.
D+7은 무슨 뜻인가요?
목표일이 기준일보다 7일 전에 지나갔다는 방향 표시입니다.
DST가 날짜 차이에 영향을 주나요?
UTC 자정의 하루 단위를 사용하므로 현지 시각의 DST 시간 변화는 반영하지 않습니다.
SOURCES