전역일 계산기 만들기
입대일만 넣으면 전역일과 D-day가 나와요. #14·#21의 날짜 계산을 이어서, 이번엔 "입대일 + 개월 − 1일"과 남은 날이 하루 어긋나는 함정을 다뤄요.
바로 쓰기: 전역일과 D-day
월말 입대(예: 8월 31일 + 18개월)처럼 그 달에 같은 날이 없으면 말일로 보고 하루를 빼요(연습용 규칙). 날짜는 이 브라우저 밖으로 보내지 않아요.
1AI에게 세 줄로 요청하기
HTML 파일 하나로, 전역일 계산기 페이지를 만들어줘. 입대일을 고르면 전역일과 전역까지 남은 날이 나오게 해줘. 인터넷 연결이나 설치 없이 파일 하나로 동작하게 해줘.
군마다 다른 복무 기간, 입대일을 1일째로 세는 것, 오늘 날짜를 정하는 방법은 일부러 말하지 않았어요.
2연습장에서 실행하기
입대 2025-07-14, 육군, 오늘 2026-11-04면 전역일 2027-01-13, D-70이에요. 자동 검사는 시계를 2026-11-04로 맞추고(오후 3시와 새벽 0시 30분 두 번) 날짜 칸 첫째를 입대일, 오늘 칸이 있으면 둘째를 오늘로 넣어 봐요.
3미션: 군별 기간, 검산은 손으로
- 기본: 전역일과 남은 날
2025-07-14 입대(육군), 오늘 2026-11-04 → 2027-01-13, D-70.
- 군을 고르면 기간이 바뀌게 ⭐
"군을 고르는 칸을 넣어줘. 육군·해병대는 18개월, 해군은 20개월, 공군은 21개월로 계산해줘." (내 입대 시기의 기간은 병무청에서 확인하세요.)
- 손으로 검산 ⭐
2025-03-10 육군, 2025-05-12 해군, 2025-06-23 공군. 해군은 20개월 뒤 같은 날 2027-01-12에서 하루를 뺀 2027-01-11. "전역일을 구하는 규칙을 코드 말고 말로 설명해줘."
- D-day와 진행률
"오늘 기준으로 남은 날(D-숫자)과 복무한 일수, 진행 퍼센트를 막대로 보여줘." 자동 검사는 오후 3시와 새벽 0시 30분에 모두 D-70인지, 479일째 / 총 549일인지 봐요.
- 월말 입대는 내가 정한 규칙으로
"개월을 더했을 때 그 달에 같은 날짜가 없으면 그 달의 마지막 날로 보고, 거기서 하루를 빼줘." 2025-08-31 육군이 3월로 넘어가 버리면 규칙을 정해서 말해요.
- 자유
입대일 저장(#13), 100일 단위 이정표, 주 단위 남은 기간, 결과 복사
안 될 때 확인할 것
| 증상 | 원인과 해결 |
|---|---|
| 전역일이 하루 늦다 | 입대일 + 개월을 그대로 썼어요. "거기서 하루를 빼줘" |
| 남은 날이 하루 많거나 적다 (시간에 따라) | 날짜를 밀리초로 빼서 올림·내림했어요(실험 ②). "남은 날은 날짜만 비교해서 정수로 계산해줘" |
| 월말 입대자가 하루 어긋난다 | 날짜 더하기로 "N개월 뒤"를 구했어요. 미션 5의 요청문 |
| 군을 바꿔도 전역일이 그대로 | 복무 개월을 고정해 뒀어요. 미션 2 |
| 미션을 요청했더니 원래 기능이 사라졌다 | "기존 기능은 그대로 두고, 전체 코드를 처음부터 끝까지 줘" |
실험 ①: 18개월 뒤가 아니라 그 전날
실험 ②: 밀리초로 나누면 시간에 따라 하루 어긋나요
날짜만 쓴 문자열("2027-01-13")은 영국 시간 0시(한국 오전 9시)로, new Date(년, 월, 일)은 한국 0시로 만들어져요. 둘을 빼서 하루(86,400,000밀리초)로 나누면 소수가 생기고, 올림·내림에 따라 답이 달라져요. 이 브라우저가 계산한 값이에요.
블로그 원문: 극초보 바이브코딩 #22는 블로그에 곧 올라와요
이전 실습: #21 연차 계산기 · 전체 실습 목록
자주 묻는 질문
전역일은 어떻게 계산하나요?
연습용 규칙으로는 입대일에 복무 개월을 더한 날의 전날이에요. 2025-03-10 육군(18개월)이면 2026-09-09예요. 실제 전역일은 병무청·부대 안내를 확인하세요.
D-day는 전역일 당일인가요?
이 페이지는 전역일 당일을 D-DAY로 보여 줘요. 부대마다 표기 방식이 다를 수 있어요.