콘텐츠로 건너뛰기

📅 날짜 계산기

두 날짜 차이, 날짜 가감산, 영업일 (주말/공휴일 제외), 나이를 한 번에 계산. YYYY-MM-DD / YYYY/MM/DD / YYYY년MM월DD일 자동 인식, 타임존 지원.

완전 무료 가입 불필요 브라우저 완결 5 개 언어 다크 모드

🔒 개인정보 보호

💡 입력 형식 자동 인식

📖 자주 걸리는 지점

두 날짜의 차이, 날짜의 가감산, 영업일(주말과 임의의 공휴일을 제외), 나이를 계산합니다. YYYY-MM-DD / YYYY/MM/DD / 일본식 날짜 표기를 자동 판정하고 타임존도 지정할 수 있습니다. 처리는 브라우저 안에서 끝납니다. 날짜의 계산에는 유일한 정답이 없습니다 — 기간을 며칠로 세는지, 달을 넘는 가산을 어떻게 다루는지는 규약으로 정해지는 것이며 구현이 어떻게 동작하는지와는 별개의 이야기입니다.

사례 무슨 일이 일어나는가 어떻게 하면 되는가
일수의 차이가 하루 어긋난다 4 월 1 일부터 4 월 3 일까지는 2 일일까요, 3 일일까요. 뺄셈을 하면 2 이지만 일상어의 3 일간 은 1 일 · 2 일 · 3 일을 센 결과입니다. 이 차이는 첫날을 산입하는지 여부이며 업계와 문맥에 따라 답이 달라집니다 — 숙박 일수는 뺄셈(2 박), 근무 일수는 양끝을 포함, 계약 기간은 계약서의 정의에 따릅니다. 일본의 민법은 초일 불산입을 원칙으로 합니다(다음 날부터 셉니다)만 실무에서는 이 원칙과 다른 세는 법이 계약으로 정해져 있는 쪽이 많으므로 법률의 원칙을 알아도 답은 나오지 않습니다. 사양서나 계약서에 첫날을 산입하는지를 명기하세요 — 이는 구현에서 정할 것이 아니라 관계자의 합의로 먼저 정해 두어야 할 것입니다. 구현 쪽에서는 변수 이름에 의도를 담는 것이 가장 효과적입니다 — days 가 아니라 nightsinclusive_days 라고 쓰면 읽는 사람이 잘못 보지 않습니다. 테스트에는 반드시 같은 날 케이스를 넣으세요 — 4 월 1 일부터 4 월 1 일까지가 0 일인지 1 일인지로 이 한 건이 사양을 명확히 합니다. 경계는 하루 어긋나도 동작하므로 테스트가 없으면 프로덕션까지 알아채지 못합니다.
월의 가산이 기대대로 되지 않는다 1 월 31 일의 1 개월 뒤는 며칠일까요. 2 월 31 일은 존재하지 않으므로 구현에 따라 2 월 28 일(월말로 반올림), 3 월 3 일(31 일을 더해 넘김), 3 월 1 일 중 하나가 됩니다. 어느 것도 틀린 것이 아니라 규약의 차이입니다. 더 까다로운 것은 가역이 아니라는 점으로 1 개월 뒤의 1 개월 전이 원래 날짜로 돌아오지 않는 경우가 있습니다 — 1 월 31 일 → 2 월 28 일 → 1 월 28 일. 구독의 결제일로 매월 31 일을 고르면 이 문제에 매월 부딪힙니다. 월 단위의 가산을 하기 전에 월말을 어떻게 다룰지를 정하세요 — 일반적인 것은 존재하지 않는 날은 월말로 반올림이며 이것이 가장 직관에 가깝고 대부분의 라이브러리의 기본값이기도 합니다. 결제나 계약 갱신처럼 날짜가 의미를 갖는 장면에서는 애초에 29 일 이후를 고를 수 없게 하는 것이 가장 안전합니다 — 많은 구독 서비스가 이 설계를 채택하고 있는 것은 이 문제를 피하기 위해서입니다. 월말 마감이 필요하다면 매월 말일 이라는 별도의 개념으로 구현하세요 — 1 월 31 일 + 1 개월 이 아니라 다음 달의 마지막 날 로 정의하면 모호함이 사라집니다.
영업일의 계산이 나라나 해에 따라 어긋난다 공휴일은 매년 바뀝니다. 일본의 경우 몇몇 공휴일은 몇 번째 월요일이므로 날짜가 매년 움직이고 춘분 · 추분은 천문 계산으로 정해지기 때문에 전년의 관보에서 확정됩니다. 나아가 일요일과 겹치면 대체 휴일이 발생하고 공휴일에 낀 평일은 휴일이 됩니다. 나라를 넘으면 상황은 완전히 달라져 같은 영업일 5 일 이라도 일본 · 미국 · 중국 · 이슬람권에서는 끝나는 날이 다릅니다 — 특히 중국의 춘절과 중동의 금요일 휴무는 일본의 감각에서 크게 벗어납니다. 이 도구는 공휴일 목록을 직접 입력하는 방식이므로 목록이 낡으면 결과도 낡습니다. 일본의 공휴일은 내각부가 CSV 를 공개하고 있으므로 거기서 매년 갱신하세요 — 작년의 목록을 돌려쓰는 것이 이런 종류의 계산에서 가장 흔한 실수입니다. 복수의 나라가 얽히는 납기 계산에서는 반드시 나라별로 별도의 목록으로 계산하세요 — 영업일이라는 말이 같아도 의미하는 날이 다릅니다. 그리고 계산 결과가 납기나 지급 기일이 되는 장면에서는 반드시 상대방과 날짜 자체를 확인하세요 — 5 영업일 뒤 가 아니라 몇 월 며칠까지 로 합의하면 세는 법의 차이는 문제가 되지 않습니다.

날짜만 다루고 있다고 생각해도 타임존은 영향을 미칩니다. 2024-01-01 을 UTC 로 해석하느냐 일본 시간으로 해석하느냐에 따라 같은 순간이 1 월 1 일도 되고 12 월 31 일도 됩니다 — 일본 시간 1 월 1 일 8 시는 UTC 로는 아직 12 월 31 일 23 시입니다. 서버가 UTC, 이용자가 일본인 구성에서는 오늘의 집계가 일본 시간 9 시에 바뀌는 현상이 일어납니다. 데이터베이스에 날짜를 저장할 때는 시각을 갖지 않는 DATE 타입을 쓰거나 반드시 UTC 로 통일하세요. 한 가지 더, 생일이나 기념일은 순간이 아니라 그 지역의 달력 위의 날짜입니다 — 1990 년 5 월 3 일생인 사람은 어디에 있어도 5 월 3 일이 생일이고 비행기로 날짜변경선을 넘어도 바뀌지 않습니다. 이런 값에 타임존을 갖게 하면 해외에서 접속했을 때 하루 어긋납니다시각을 갖지 않는 편이 옳은 장면이 있다고 기억해 두세요.

📖 사용법

  1. 1
    모드 선택
    상단 탭에서 기간/가감산/영업일/나이 선택.
  2. 2
    날짜 입력
    YYYY-MM-DD 등 다양한 형식 가능.
  3. 3
    계산
    계산 버튼 클릭.

❓ 자주 묻는 질문

날짜가 서버로 전송됩니까?
아니요. 모든 계산은 브라우저에서 처리됩니다.
윤년과 월말 처리는?
윤년 자동 판정. 월말 초과는 해당 월 마지막 날로 처리.
공휴일 목록 입력법?
1줄에 1일자. 주말은 자동 제외.
🐛 이 도구에서 문제가 발생했나요?

무료 · 가입 불필요. 재현 절차만이라도 도움이 됩니다. 보고는 운영자에게 직접 전달되어 개선에 사용됩니다.

※ 재현을 위해 브라우저 정보 (UA / 화면 / 언어 / URL) 가 자동 전송됩니다