날짜 차이 계산기
두 날짜 간의 일수, 주수, 월수, 연수 계산
두 날짜 간의 차이 계산
날짜 차이 계산기는 무엇인가요?
날짜 차이 계산기는 두 달력 날짜 사이의 간격을 측정하고 그 결과를 일수, 주수, 대략적인 월수와 년수, 시간이나 분 같은 단위로 보여 주는 도구입니다. 프로젝트 기간, 휴가 구간, 청구 기간, 기념일, 보관 기간, 과거 사건으로부터 지난 시간을 확인할 때 유용합니다. 결과는 날짜 사이의 차이이지, 시작일과 종료일을 모두 포함한 일수로 자동 해석되는 것은 아닙니다. 예를 들어 1월 1일부터 1월 3일까지는 보통 2일 차이입니다. 월과 년은 각 달의 길이가 다르기 때문에 근사값으로 표시됩니다. 근무일, 공휴일, 시간대, 법적 마감일은 별도의 규칙에 따라 확인해야 합니다.
사용 방법
사용 방법
- 시작 날짜를 입력하세요
- 종료 날짜를 입력하세요
- '간격 계산'을 클릭해 두 날짜를 비교하세요
- 결과 확인: 일, 주, 월, 년, 시간, 분, 초
계산 규칙
- 필요한 간격 계산이 배타적인지 포괄적인지 확인하세요. 많은 비즈니스 규칙은 시작일과 종료일 모두를 셉니다.
- 시간대가 다른 작업을 할 때는 먼저 같은 시간대로 날짜를 변환하세요. 특히 시/분이 중요한 경우에 중요합니다.
활용 사례
기술 원리
정확한 일수 차이는 Math.floor((end.getTime() - start.getTime()) / 86_400_000)으로 계산됩니다. 여기서 86,400,000은 DST가 적용되지 않는 24시간의 밀리초 수입니다. 이는 배타적 구간을 반환합니다. 1월 1일부터 1월 3일까지는 3일이 아닌 2일입니다. 뺄셈이 달력 칸을 세는 것이 아니라 두 시점 사이의 간격을 측정하기 때문입니다. 포괄적 계산(양쪽 끝점 포함)이 필요하면 결과에 1을 더하세요. 많은 법률, 휴가, 청구 규칙이 이를 요구하며, 오프바이원은 인사와 재무 보고서 간 불일치의 가장 흔한 원인입니다. 주수는 단순히 days / 7이며, 페이지에는 파생 합계인 시간 = days * 24, 분 = days * 1440, 초 = days * 86,400도 함께 표시됩니다.
월과 년 차이는 의도적으로 "약"으로 표기됩니다. 캘린더 월과 년의 길이가 다르기 때문입니다. 단순한 접근법은 days / 30.436875(평균 그레고리 월)와 days / 365.2425(400년 주기의 평균 그레고리 년)입니다. 현황 보고서와 대시보드에는 적합하지만 계약에는 부정확합니다. 캘린더 정확한 "두 날짜 사이의 X개월"을 구하려면, 연도 x 12 + 월 성분을 뺀 뒤 종료일의 일이 시작일의 일보다 이전이면 1을 빼는 알고리즘을 사용합니다. 이는 대부분의 날짜 라이브러리(date-fns의 differenceInMonths, dayjs의 $.diff('month'), Temporal의 Duration.from)가 계산하는 방식입니다. 연도 계산도 같은 특이점이 있습니다. 2024-02-29부터 2025-02-28까지는 관례에 따라 1년(월말 고정) 또는 0년 11개월 30일로 셀 수 있습니다.
윤년은 그레고리력 규칙(4로 나누어떨어지지만, 400으로 나누어떨어지지 않는 세년은 제외. 1900년 = 평년, 2000년 = 윤년, 2024년 = 윤년)을 따릅니다. 2월 29일을 포함하는 구간은 일 수가 에포크 이후 밀리초에 기반하므로 자동으로 하루를 더 잡습니다. 시간대 처리는 양쪽 끝점이 하루 미만 해상도일 때 중요합니다. 로컬 시간 문자열로 만든 두 Date 값을 빼면 로컬 UTC 오프셋만큼 차이가 날 수 있으며, DST 전환을 건너는 구간은 명목상 24시간이 아닌 23시간 또는 25시간이 될 수 있습니다. Y2038 문제(Unix time_t의 32비트 부호 있는 정수 오버플로우, 2038-01-19T03:14:07Z)는 이 페이지에 영향을 주지 않습니다. JavaScript Date는 에포크 기준 약 1억 일까지 표현 가능한 64비트 부동소수점을 사용하지만, 32비트 C로 작성된 다운스트림 시스템은 여전히 주의가 필요합니다.
- 정확한 일수 = Math.floor((end - start) / 86_400_000). DST가 아닌 하루당 86.4M ms.
- 결과는 기본적으로 배타적: 1월 1일~1월 3일 = 2일. 포괄적 계산(양쪽 끝점 포함)에는 1을 더하세요.
- 대략적 월은 평균 30.436875일 사용, 년은 그레고리 400년 주기의 평균 365.2425일 사용.
- 캘린더 정확한 월 차이: (y2-y1)*12 + (m2-m1), 종료일 < 시작일이면 -1. date-fns differenceInMonths와 일치.
- 윤년: 4로 나누어떨어지지만, 세년은 400으로도 나누어떨어져야 함(1900년 아니오, 2000년 예, 2024년 예).
- DST 전환은 23시간, 25시간짜리 캘린더 하루를 만듭니다. 24시간 뺄셈이 1 캘린더 일이 아닐 수 있습니다.
- JavaScript Date는 64비트 부동소수점으로, Unix Y2038(32비트 time_t 오버플로우, 2038-01-19 03:14:07 UTC)의 영향을 받지 않습니다.
예시
두 해 전체 (2025-01-01부터 2026-12-31까지)
시작 : 2025-01-01
종료 : 2026-12-31
일 : 730
주 : 104.29
개월 : ~24.00 (근사값)
년 : ~2.00 (근사값)
참고 : 2028년이 다음 윤년이므로 기간을 연장하면 2028년 2월 29일이 포함됩니다.짧은 기간 (3일)
시작 : 2026-06-11
종료 : 2026-06-14
일 : 3
시간 : 72
분 : 4320
초 : 259200
양 끝 포함 카운트: 4일연도가 바뀌는 프로젝트 기간
시작 : 2026-01-15 (킥오프)
종료 : 2026-07-20 (정식 출시)
일 : 186
주 : 26.57
개월 : ~6.16
사용 사례 : 진행 보고, 회고, 간트 차트 요약일 단위 나이 계산
생일 : 1995-03-15
오늘 : 2026-06-11
생존 일수 : 11,411
년 (근사값) : 31.24
개월 : ~374.9
정확한 일수가 필요할 때 유용 (예: 기념일)타임존 주의 (도쿄 vs 로스앤젤레스)
동일한 달력 날짜 '2026-07-15'라도 실제 시점은 다릅니다:
도쿄 (UTC+9) -> 2026-07-15 00:00 = 2026-07-14 15:00 UTC
로스앤젤레스 (UTC-7) -> 2026-07-15 00:00 = 2026-07-15 07:00 UTC
그대로 사용하면 약 16시간 차이가 발생하여 1일 결과가 뒤바뀔 수 있습니다.
해결책: 차이를 계산하기 전에 두 날짜를 같은 타임존으로 변환하세요.자주 묻는 질문
두 날짜 사이의 차이는 어떻게 계산되나요?
달력 산술 방식입니다. 결과는 년, 월, 일로 표시되며, 추가로 총 주, 일, 시, 분, 초 단위 합계도 함께 보여줍니다. 년과 월은 기념일 방식(같은 월/일이 지난 후에야 년 수가 증가)으로 계산되고, 일은 두 날짜 사이의 달력 기준 일수입니다.
년 + 월 + 일을 합쳐도 총 일수와 정확히 맞지 않는 이유는 무엇인가요?
월마다 일수가 28~31일로 다르기 때문입니다. '1년 2개월 5일'의 총 일수는 포함된 달이 28, 29, 30, 31일 중 무엇이냐에 따라 달라집니다. 총 일수 필드는 순수 달력 산술을 사용하며 가장 정확한 숫자입니다.
시작일은 포함되나요, 제외되나요?
시작일을 제외하고 계산합니다. 같은 날짜의 경우 차이는 0일로 표시됩니다. '포함' 방식의 계산이 필요하다면(예: 숙박일 계산) 결과에 1을 직접 더하세요.
주말이나 공휴일은 제외되나요?
아니요. 본 페이지는 모든 달력일을 계산합니다. 영업일 차이(주말과 선택적으로 공휴일 제외) 계산이 필요하다면 'Workday Calculator' 도구를 사용하세요.
DST 변경 후 시간 부분이 어색해 보이는 이유는 무엇인가요?
시·분 부분은 절대 시간을 사용하므로, 일광 절약 시간 전환 구간을 포함하면 시각 필드에 한 시간이 더해지거나 빠질 수 있습니다. 일수 자체는 달력 기준이므로 영향을 받지 않습니다.
비교할 수 있는 최대 날짜 범위는 어디까지인가요?
JavaScript Date는 Unix epoch를 기준으로 ±100,000,000일을 지원하므로 약 ±271,000년 이내의 과거 또는 미래 날짜 쌍이라면 모두 가능합니다. 1582년 이전 날짜는 외삽 그레고리력(proleptic Gregorian) 산술을 사용하므로, 당시 실제로 사용되던 지역 달력과는 차이가 있습니다.
계산은 로컬에서 이루어지나요?
네. 두 날짜와 계산 결과 모두 브라우저 내에서만 처리됩니다. 어떤 데이터도 업로드되거나 기록되지 않습니다.
관련 도구
아기 날짜 계산기
온라인 아기 날짜 계산 도구로 아기의 출생 일수, 주수, 월령을 기록합니다. 성장 이정표를 표시하여 매일을 함께합니다.
중국 왕조 연표
중국 역사 왕조 순서표로 하나라부터 청나라까지 완전한 정리이며 시작과 끝 시간, 개국 황제, 도시 등 상세 정보를 포함합니다.
근무일 계산기
온라인 근무일 계산 도구. 날짜 범위 내 실제 근무일수를 계산합니다. 주말과 공휴일 제외, 프로젝트 계획에 적합.
출산 예정일 계산기
온라인 출산 예정일 계산기로 마지막 월경, IVF 또는 초음파 데이터를 기반으로 출산 예정일을 계산하고 임신 주수와 임신 진행 상황을 표시합니다.
플립 시계
실시간 시간, 12/24시간 모드, 초 표시 옵션과 전체 화면을 지원하는 온라인 플립 시계입니다.
수면 계산기
온라인 수면 계산기로 기상 또는 취침 시간을 기반으로 최적의 수면 시간을 계산하며 90분 수면 주기를 기반으로 과학적인 추천을 제공합니다.
