날짜 계산의 작동 원리와 달력 연산 규칙
날짜 계산기는 특정 시작일로부터 지정된 년, 월, 주, 일수를 더하거나 빼서 정확한 과거 또는 미래의 날짜를 산출하는 도구입니다. 이 계산기는 윤년의 존재와 매월 달라지는 일수(28일, 29일, 30일, 31일) 등 실제 달력의 복잡한 규칙을 모두 반영하여 연산을 수행합니다.
날짜를 계산할 때는 다음과 같은 고정된 연산 순서가 적용됩니다.
- 연도와 월 단위를 먼저 적용하여 1차 대상 날짜를 결정합니다.
- 그 다음, 주와 일(Days) 단위를 더하거나 뺍니다.
이러한 고정된 순서는 계산의 일관성을 보장하기 위해 필수적입니다. 또한, 본 계산기는 주말이나 공휴일을 제외하지 않고 달력상의 모든 날짜를 그대로 계산하는 '달력 기준 일수'를 사용합니다. 따라서 계산 결과에는 주말과 공휴일이 모두 포함되어 반영됩니다.
존재하지 않는 날짜의 처리 방식 (클램핑 관례)
달력 연산 중에는 계산된 날짜가 대상 월에 존재하지 않는 상황이 발생할 수 있습니다. 예를 들어 1월 31일에서 1개월을 더하면 이론상 2월 31일이 되지만, 2월에는 31일이 존재하지 않습니다.
이러한 경우 계산기는 결과 날짜를 해당 월의 가장 마지막 날(평년의 경우 2월 28일, 윤년의 경우 2월 29일)로 강제 조정하는 '클램핑(Clamping)' 관례를 따릅니다. 이 조정이 발생하면 화면에 "해당 날짜가 대상 월에 존재하지 않아, 해당 월의 마지막 날로 조정되었습니다."라는 안내 문구가 표시되어 연산 결과를 명확하게 이해할 수 있도록 돕습니다.
입력 값 기준 및 제한 사항
정확한 계산을 위해 도구에 입력하는 값은 아래의 기준과 범위를 준수해야 합니다.
- 시작일: 유효한 달력 날짜여야 합니다. 올바르지 않은 날짜를 입력하면 "시작일이 올바른 달력 날짜가 아닙니다."라는 오류 메시지가 나타납니다. 기본값은 오늘 날짜로 설정됩니다.
- 방향: "더하기" 또는 "빼기" 중 하나를 선택합니다.
- 시간 단위(년, 월, 주, 일): 각 입력 필드에는 0 이상 1,000,000 이하의 정수만 입력할 수 있습니다. 이 범위를 벗어나거나 올바르지 않은 값을 입력하면 "각 값은 1,000,000 이하의 정수여야 합니다."라는 오류 메시지가 출력됩니다.
- 지원 범위: 계산 결과로 산출될 수 있는 날짜의 범위는 1년에서 9999년까지입니다. 계산된 결과가 이 범위를 초과하면 "계산 결과가 지원 범위(1년~9999년)를 벗어납니다."라는 오류 메시지가 표시됩니다.
입력 값이 유효하지 않은 경우, 기존의 결과 화면은 모두 지워지고 — 기호로 초기화됩니다.
출력 형식 및 데이터 활용
계산이 완료되면 도구는 세 가지 형태의 결과를 동시에 제공합니다. 각 결과 영역을 클릭하면 클립보드로 간편하게 복사할 수 있습니다.
- 계산된 날짜: 요일을 포함하여 사람이 읽기 쉬운 형태로 표현된 최종 날짜입니다.
- YYYY-MM-DD 형식: 국제 표준 ISO 형식에 맞춘 날짜 표기법입니다.
- 시작일로부터의 일수: 시작일과 최종 결과 날짜 사이에 존재하는 총 일수 차이를 나타냅니다.
브라우저 내 로컬 처리 및 개인정보 보호
이 계산기는 개인정보 보호를 위해 입력된 데이터를 외부 서버로 전송하지 않습니다. 모든 날짜 연산과 수치 계산은 사용자의 웹 브라우저 내에서 직접 처리되며, 입력한 날짜와 수치 등의 정보는 기기 외부로 절대 유출되지 않으므로 안심하고 사용할 수 있습니다.
자주 묻는 질문 (FAQ)
Q. 1월 31일에 한 달을 더하면 며칠이 되나요?
A. 2월에는 31일이 없으므로 해당 월의 마지막 날(평년은 2월 28일, 윤년은 2월 29일)로 결과가 조정됩니다. 이는 달력, 은행 및 스프레딧에서 널리 사용하는 표준 관례이며, 이러한 조정이 발생할 때마다 상태 표시줄을 통해 안내해 드립니다.
Q. 년, 월, 주, 일은 어떤 순서로 적용되나요?
A. 연도와 월을 먼저 이동한 다음, 주와 일을 더합니다. 따라서 1월 31일에 '1개월과 1일'을 더하면, 먼저 2월 말일로 이동한 후 거기서 하루를 더해 3월 1일이 됩니다. 계산 순서가 다르면 결과 날짜도 달라질 수 있으므로, 일관되고 예측 가능한 결과를 위해 이 고정된 순서를 따릅니다.
Q. 영업일 기준으로 계산되나요?
A. 아닙니다. 이 계산기는 달력 기준 일수로 이동하므로 주말과 공휴일이 모두 포함됩니다. 결과에 요일이 함께 표시되므로 마감일이 토요일이나 일요일에 해당하는지 바로 확인하고 직접 조정하실 수 있습니다.