연차 계산기 만들기
"내 연차 며칠이더라?" 입사일만 넣으면 나오는 페이지예요. 규칙은 단순해 보여도 "한 달 뒤"를 어떻게 세느냐에서 하루가 어긋나요.
바로 쓰기: 연차 며칠
연습용 규칙: 1년 미만은 한 달 개근할 때마다 1일(최대 11일) · 만 1~2년 15일 · 만 3년부터 2년마다 1일 더 · 최대 25일. "한 달"은 달력으로 세고, 그 달에 같은 날이 없으면 말일로 봐요. 입력한 날짜는 밖으로 보내지 않아요.
1AI에게 세 줄로 요청하기
HTML 파일 하나로, 연차 계산기 페이지를 만들어줘. 입사일과 기준일을 고르면 연차가 며칠인지 나오게 해줘. 인터넷 연결이나 설치 없이 파일 하나로 동작하게 해줘.
1년 미만일 때, 3년 이상일 때, 최대 며칠인지는 일부러 말하지 않았어요. 연습할 때 회사 인사 자료는 넣지 마세요.
2연습장에서 실행하기
입사일 2023-03-15, 기준일 2026-11-03이면 근속 만 3년 → 16일이에요. 자동 검사는 날짜 칸 두 개를 첫째 = 입사일, 둘째 = 기준일로 보고 여러 날짜를 넣어 봐요.
3미션: 1년 미만은 따로, 검산은 손으로
- 기본: 연차가 나온다
2023-03-15 입사, 기준일 2026-11-03 → 16일.
- 입사 1년 미만은 따로 ⭐
"입사 1년 미만이면 한 달을 채울 때마다 연차가 1일씩 생기게 해줘. 최대 11일까지만." 3개월째면 3일, 12개월 직전에는 11일을 넘지 않는지, 기준일이 입사일보다 앞이면 안내가 나오는지 보세요.
- 손으로 검산 ⭐
기준일 2026-11-03에서 2025-06-10 입사(만 1년 → 15일), 2026-03-31 입사(7개월 → 7일), 2003-03-02 입사(만 23년 → 25일, 한도). 이상하면 "연차 일수를 구하는 규칙을 코드 말고 말로 설명해줘".
- 다음에 바뀌는 날
"연차가 다음에 늘어나는 날도 보여줘. 더 늘지 않으면 '최대'라고 보여줘." 만 3년인 사람의 다음 날짜는 4년이 아니라 5년째 되는 날이에요(3·4년은 같은 16일).
- 월말 입사는 내가 정한 규칙으로
"1월 31일에 입사한 사람은 2월에 31일이 없으니 2월 말일에 한 달을 채운 것으로 계산해줘." (회사 방식이 다르면 바꾸세요.) 2025-01-31 입사, 기준일 2025-02-28 → 1일.
- 자유
쓴 연차 입력해서 남은 일수, 회계연도(1월 1일) 기준 칸, 입사일 기억(#13), 결과 복사
안 될 때 확인할 것
| 증상 | 원인과 해결 |
|---|---|
| 손계산과 일수가 다르다 | 규칙이나 날짜 세는 방법이 달라요. "어떤 규칙으로 계산했는지 말로 설명해줘" |
| 월말 입사자의 개월 수가 하루 어긋난다 | 날짜 더하기로 "한 달 뒤"를 구했어요(실험 ①). 미션 5의 요청문 |
| 만 3년이 하루 일찍 된다 | 날짜 차이를 365로 나눴어요(실험 ②). "달력으로 세줘" |
| 25일보다 크게 나온다 | "연차는 최대 25일을 넘지 않게 해줘" |
| 미션을 요청했더니 원래 기능이 사라졌다 | "기존 기능은 그대로 두고, 전체 코드를 처음부터 끝까지 줘" |
실험 ①: "1월 31일 + 한 달"은 3월 2일?
흔한 날짜 함수(setMonth)로 한 달을 더하면, 없는 날짜가 넘쳐서 다음 달로 가 버려요. 이 브라우저가 계산한 값이에요.
실험 ②: 365일로 나누면 하루 일찍 만 3년
윤년(2월 29일)이 끼면 1년이 366일이라, 날짜 차이를 365로 나누면 기념일보다 하루 일찍 "만 N년"이 돼요. 연차가 하루 차이로 1일 달라질 수 있어요.
블로그 원문: 극초보 바이브코딩 #21은 블로그에 곧 올라와요
이전 실습: #20 학점 계산기 · 다음: #22 전역일 계산기 · 전체 실습 목록
자주 묻는 질문
입사 1년이 되면 연차가 26일인가요?
1년 미만 동안 매달 생긴 최대 11일과, 1년이 되면 생기는 15일은 따로 생겨요. 이 페이지는 "지금 기준 일수 하나"만 보여 주고 누적 계산은 하지 않아요.
회사가 1월 1일 기준으로 연차를 주는데요?
회계연도 기준은 회사 규정에 따라 계산이 달라요. 이 페이지는 입사일 기준이에요. 회사 규정을 확인하세요.