디데이 계산, 당일을 포함할까 뺄까

며칠 남았는지 며칠 지났는지를 물었는데 계산기마다 답이 다르면 둘 다 틀린 것이 아니라 세는 방식이 다른 것입니다. 그 방식 둘을 먼저 구분하면 나머지는 쉽습니다.

1. 디데이가 무엇인가

디데이는 원래 군사 작전에서 공격이나 개시일을 가리키던 미국 군사 용어입니다. 노르망디 상륙작전의 개시일을 D-Day라 부른 것이 널리 알려지며 지금은 시험일이나 결혼식, 전역일처럼 중요한 하루를 기준으로 얼마나 남았고 얼마나 지났는지 세는 말로 쓰입니다.

그런데 그 하루를 세는 방식이 둘입니다. 시작일 자체는 안 세고 다음 날부터 세는 방식과, 시작일을 1일째로 세는 방식입니다. 둘의 답은 언제나 하루가 갈립니다. 이 앱은 어느 하나를 고르지 않고 둘 다 냅니다.

민법은 이 문제를 이미 정해 두었습니다. 제157조가 기간을 셀 때 시작일은 넣지 않는다고 밝히고 있어서, 서류 마감이나 계약 기한 같은 공식 기간은 이 원칙을 따릅니다. 반면 사귄 지 며칠째나 태어난 지 며칠째처럼 일상에서 굳은 셈법은 시작일을 1일째로 칩니다.

2. 기본 규칙

민법 제6장(제155조부터 제161조까지)이 기간 계산을 정합니다. 제157조는 시작일을 안 세는 원칙과 그 예외(기간이 자정부터 시작하면 시작일도 센다)를 정하고, 제159조는 마지막 날이 끝나야 기간이 끝난다고 정합니다.

제160조는 월이나 연으로 정한 기간을 역법으로 계산하는 방법을 정합니다. 1월 31일에서 한 달 뒤처럼 마지막 달에 그 날짜가 없으면 그 달의 마지막 날로 맞춥니다. 제161조는 기간의 마지막 날이 토요일이나 공휴일이면 그다음 날로 넘긴다고 정합니다.

이 다섯 조문이 정하는 것은 시작일을 안 세는 원칙 하나로 요약됩니다. 사귄 날이나 기념일처럼 시작일을 세는 셈법은 법이 아니라 관습입니다. 둘 다 틀리지 않았고, 어느 쪽을 쓸지는 그 계산이 무엇을 위한 것인지에 달려 있습니다.

3. 이 앱의 세부 규칙

이 앱은 기준일과 목표일의 달력 일수 차이를 절대값으로 먼저 구합니다. 그 값이 초일 불산입 값이고, 여기에 하나를 더한 값이 초일 산입 값입니다. 기준일과 목표일이 같으면 초일 불산입은 0, 초일 산입은 1입니다.

목표일이 기준일보다 뒤면 남은 날로, 앞이면 지난 날로 화면이 스스로 판단해 제목을 바꿉니다. 어느 쪽이든 두 셈법의 숫자를 같은 자리에 나란히 보여 줍니다.

영업일 모드는 기준일과 목표일 사이의 날짜를 하루씩 짚어 토요일과 일요일이 아닌 날만 셉니다. 민법 제161조는 공휴일도 다음 날로 넘기라고 정하지만, 이 앱은 아직 공휴일 표를 갖고 있지 않아 주말만 뺍니다. 없는 기능을 있다고 말하지 않습니다.

자주 찾는 날짜(수능, 신정, 어린이날, 크리스마스)는 목표일 칸을 채워 주는 단추일 뿐입니다. 수능은 교육부가 발표한 시행기본계획의 날짜이고, 나머지 셋은 관공서의 공휴일에 관한 규정 제2조의 양력 고정일에서 매년 돌아오는 날을 계산한 것입니다. 확인한 출처와 확인일을 각 단추 옆에 적어 둡니다.

국적이탈 신고기한(재외동포 남성)은 출생연도만 넣으면 목표일을 채워 줍니다. 병역법 제8조는 남성이 18세부터 병역준비역에 편입된다고 정하고, 같은 법 제2조 제2항은 그 18세가 되는 해의 1월 1일부터라고 풀이합니다. 국적법 제12조 제2항은 편입된 때부터 3개월 이내에 국적을 선택하라고 정하는데, 1월 1일부터 시작하는 기간은 민법 제157조 단서로 초일도 세고 제160조의 역법 계산으로 3월 31일에 만료합니다. 그래서 결과는 출생연도에 열여덟을 더한 해의 3월 31일입니다. 국외 출생 등 정당한 사유가 있으면 국적법 제14조의2의 특례로 기한을 넘겨도 신청할 수 있는데, 그 해당 여부는 계산하지 않고 조문 링크만 보여 줍니다.

넣은 날짜는 서버로 가지 않습니다. 계산은 브라우저 안에서 끝나고, 서버가 받는 것은 화면을 열었는지와 계산이 한 번 나왔는지와 링크를 복사했는지 세 가지 사실뿐입니다. 저장도 하지 않아서 새로 고치면 지워집니다.

계산해 보기

4. 기본 요령

서류 마감이나 시험 접수처럼 기관이 정한 기한은 초일 불산입으로 적는 경우가 대부분입니다. 다만 그 기관이 정한 계산법이 이 화면과 다르다고 하면 그쪽이 맞습니다. 이 화면은 민법의 일반 원칙을 보여 줄 뿐 특정 서류의 규정을 대신하지 않습니다.

사귄 지 며칠째나 백일, 천일처럼 관계의 기념일은 만난 날을 1일째로 세는 초일 산입이 관습입니다. 그래서 1월 1일에 만났다면 100일째는 4월이 아니라 4월 10일 근처가 됩니다(윤년 여부에 따라 하루씩 갈립니다).

둘 중 무엇을 써야 할지 모르겠으면 이 화면의 두 숫자를 그대로 상대방이나 담당자에게 보여 주고 확인받는 편이 가장 정확합니다.

5. 조금 더 깊이

민법 제157조 본문은 시작일을 안 센다고 정하면서도 단서를 하나 둡니다. 기간이 오전 영시(자정)부터 시작하면 그날도 센다는 것입니다. 오늘 자정부터 시작하는 기간을 계산할 때는 오늘부터 세는 것이 원칙과 어긋나지 않는 이유가 여기에 있습니다.

제160조의 역법 계산은 월이나 연 단위 기간에서 중요합니다. 1월 31일부터 한 달 뒤를 물으면 2월에는 31일이 없으므로 2월의 마지막 날(평년 28일, 윤년 29일)로 계산됩니다. 날짜를 하루씩 세는 이 앱의 방식과 달, 연 단위로 세는 역법 계산은 답이 다를 수 있습니다.

제161조는 기간의 마지막 날이 토요일이나 공휴일이면 다음 날로 미룹니다. 계약 만료일이 일요일이면 실제 만료는 월요일이 된다는 뜻입니다. 이 앱의 영업일 모드는 이 조문의 취지를 일부만(주말) 반영하며, 공휴일까지 반영하는 계산은 공휴일 데이터가 준비되는 대로 더할 계획입니다.

윤년 경계를 넘는 기간도 흔히 헷갈립니다. 평년 2월 28일에서 3월 1일까지는 하루 차이지만, 윤년이면 2월 29일이 끼어 이틀 차이입니다. 두 날짜 사이의 실제 날수를 그대로 세는 이 앱은 이 차이를 자동으로 반영합니다.

6. 자주 막히는 부분

기준일과 목표일을 같은 날로 넣으면 초일 불산입은 0일, 초일 산입은 1일이 나옵니다. 둘 다 틀린 값이 아니라 '그날 자체를 세는가'의 답이 다른 것입니다.

해를 넘기는 기간은 실감보다 날수가 큽니다. 12월 20일부터 다음 해 1월 10일까지는 그해 12월의 남은 날수와 다음 해 1월의 지난 날수를 더한 값이라, 손으로 세면 틀리기 쉽습니다.

영업일 모드에서 그 주간에 공휴일이 끼어 있으면 이 앱의 값이 실제 영업일보다 하루나 이틀 많게 나옵니다. 공휴일이 있는 주간은 화면의 숫자에서 그만큼을 손으로 빼거나, 공휴일 표가 준비된 뒤 다시 계산해 주세요.

수능처럼 매년 날짜가 바뀌는 프리셋은 그해 시행기본계획이 발표된 뒤에만 정확합니다. 다음 해 날짜가 아직 안 나왔다면 프리셋 목록에 없는 것이고, 목표일 칸에 직접 넣어 계산할 수 있습니다.

기간을 세는 법

확인일 2026-09-06

출처