생년월일과 기준일(어느 날짜의 나이를 알고 싶은지)을 입력하세요. 만 나이와 세는 나이는 물론, 개월 수·주 수·일수·시간·분·초로 나타낸 값과 다음 생일까지 남은 날수도 한꺼번에 계산합니다.
이 페이지에서 할 수 있는 것
- 생년월일만 넣으면 만 나이(몇 세 몇 개월 며칠)를 바로 알 수 있습니다. 기준일을 정하면 ‘입사일 기준’, ‘시험일 기준’처럼 원하는 날짜의 나이도 계산할 수 있습니다
- 예전부터 일상에서 써 온 ‘세는 나이’(태어나자마자 1세이고, 새해가 될 때마다 한 살씩 늘어나는 방식)도 함께 보여 줍니다
- 나이를 개월 수·주 수·일수(생후 일수)·시간·분·초로 나타낸 값과, 다음 생일까지 며칠 남았는지도 한꺼번에 보여 줍니다
- ‘이력서에 쓸 나이 확인’, ‘아기의 생후 몇 개월 며칠’, ‘기념일로부터 며칠 지났는지’ 계산에 그대로 쓸 수 있습니다
- 만 나이를 세는 방법(공식)의 쉬운 해설과 Excel·Google 스프레드시트(DATEDIF 함수)·Python용 복사해서 쓰는 수식도 이 페이지에 정리되어 있습니다
이 계산은 어디에 쓰일까요?
이력서의 나이 칸에는 만 나이를, 제출일(또는 회사가 정한 기준일) 기준으로 쓰는 것이 일반적입니다. 생일이 가까운 시기에는 ‘서류를 쓴 날’과 ‘제출하는 날’의 나이가 달라질 수 있으므로, 제출일을 기준일로 해서 다시 세어 두면 안심입니다.
자격시험 원서 접수처럼 ‘시험일 기준 만 ○세 이상’ 같은 조건이 있을 때도 같은 계산으로 확인할 수 있습니다.
한국 기준으로 초등학교는 만 나이로 6세가 되는 해의 다음 해 3월 1일에 입학합니다(초·중등교육법 제13조). 생일과 관계없이 출생 연도로 정해지므로, 예를 들어 2020년생은 1월생이든 12월생이든 2027년 3월에 입학합니다.
이 계산기에서 기준일을 그해 12월 31일로 넣으면 ‘그해 안에 만 6세가 되는지’를 바로 확인할 수 있습니다. 예전에는 1~2월생이 한 해 일찍 입학하는 ‘빠른 년생’이 있었지만, 지금은 출생 연도만으로 정해집니다.
한국 기준으로 대통령·국회의원 선거 등의 선거권은 18세 이상에게 있고, 나이는 선거일 현재로 셉니다(공직선거법 제15조·제17조). 생일 당일에 한 살이 늘어나므로, 선거일이 18세 생일인 사람은 투표할 수 있고 생일이 선거일 다음 날인 사람은 투표할 수 없습니다.
기준일에 선거일을 넣어 만 나이가 18세 이상인지 확인하면 됩니다.
만 나이로 통일된 뒤에도 생일과 관계없이 연 나이(올해 − 태어난 해)를 쓰는 제도가 있습니다. 한국 기준으로 청소년보호법에서는 연 나이가 19 미만이면 청소년이므로, 19세가 되는 해의 1월 1일부터 술·담배를 살 수 있습니다. 병역법도 18세가 되는 해의 1월 1일을 기준으로 합니다.
연 나이는 이 계산기의 세는 나이에서 1을 뺀 값과 같습니다. 제도마다 기준이 다르므로 최종적으로는 공식 안내로 확인하세요.
영유아 건강검진이나 예방접종 일정, 이유식을 시작하는 시기 등은 대부분 ‘생후 몇 개월’로 안내됩니다. ‘1개월’은 다음 달의 같은 날짜(해당일)로 세므로, 월말에 태어난 아기는 ‘1개월 뒤’가 언제인지 헷갈리기 쉽지만 해당일의 생각을 알면 정확히 셀 수 있습니다.
백일 잔치의 ‘백일’은 태어난 날을 1일째로 세므로, 이 계산기의 일수(태어난 날을 0일로 세는 생후 일수)가 99일인 날이 백일입니다.
‘결혼한 지 며칠’, ‘사귄 지 100일’ 같은 기념일 계산도 생년월일 대신 기념일을 넣으면 같은 공식으로 할 수 있습니다.
한 가지 주의할 점이 있습니다. 이 계산기의 ‘일수’는 당일을 0일로 세는 지난 일수입니다. 한국에서 흔히 하듯 첫날을 1일째로 세는 ‘100일’, ‘1000일’을 축하하려면 지난 일수가 99일, 999일인 날이 그날입니다. 어느 방식으로 셀지 먼저 정해 두면 엇갈리지 않습니다.
공식
용어·기호 해설
기호
| \(A\) | 에이 | 만 나이(몇 세인지)입니다. 나이를 뜻하는 영어 Age의 첫 글자입니다. |
| \(Y_1\), \(Y_2\) | 와이 일, 와이 이 | 태어난 연도(\(Y_1\))와 기준일의 연도(\(Y_2\))입니다. 둘 다 서기로 생각합니다(예: 1990년생, 2026년 기준이라면 \(Y_1 = 1990\), \(Y_2 = 2026\)). |
| \((M_2, D_2) < (M_1, D_1)\) | 월일 쌍의 비교 | ‘기준일의 월일(\(M_2, D_2\))이 생일의 월일(\(M_1, D_1\))보다 앞’이라는 뜻입니다. 먼저 월끼리 비교하고, 월이 같을 때만 일끼리 비교합니다. 사전에서 표제어를 찾을 때와 같은 순서의 비교 방법입니다. |
| \(d\) | 디 | 만 나이 공식의 보정값입니다. 그해 생일이 아직 오지 않았으면 1, 생일 당일이거나 지났으면 0이 됩니다. |
| \(M\), \(m\) | 엠(대문자·소문자) | 총개월 수(\(M\))와 남는 개월 수(\(m\))입니다. ‘36세 5개월’이라면 \(m = 5\)이고, 총개월 수는 \(M = 12 \times 36 + 5 = 437\)개월입니다. |
| \(N\) | 엔 | 태어난 뒤 지난 일수(생후 일수)입니다. 태어난 날을 0일로 하여 달력의 실제 날수를 셉니다. |
| \(W\), \(r\) | 더블유, 알 | 주 수(\(W\))와 남는 날수(\(r\))입니다. 지난 일수를 7로 나눈 몫이 \(W\), 나머지가 \(r\)입니다. |
| \(T_h,\ T_m,\ T_s\) | 티 에이치, 티 엠, 티 에스 | 지난 길이를 시간(hours)·분(minutes)·초(seconds)로 나타낸 값입니다. 오른쪽 아래의 작은 글자(첨자)는 단위를 뜻하는 영어의 첫 글자입니다. |
용어
| 만 나이 | 태어난 날을 0세로 하여 생일이 올 때마다 한 살씩 늘어나는 방식입니다. 한국에서는 2023년 6월 28일 ‘만 나이 통일법’ 시행으로, 따로 정한 규정이 없으면 법령·계약·공문서의 나이를 만 나이로 해석합니다. |
| 세는 나이 | 태어나자마자 1세로 하고, 새해(1월 1일. 예전에는 설날)를 맞을 때마다 한 살씩 늘어나는 전통적인 방식입니다. 계산은 ‘기준일의 연도 − 태어난 연도 + 1’이며, 만 나이보다 1~2살 많습니다. 공식 나이는 만 나이로 통일되었지만 일상 대화에서는 지금도 쓰입니다. |
| 해당일 | 다음 달이나 다음 해의 ‘같은 날짜’를 말합니다. 1월 15일의 다음 달 해당일은 2월 15일입니다. ‘몇 개월’은 이 해당일에 이르렀는지로 셉니다(민법의 기간 계산과 같은 생각). 1월 31일처럼 다음 달에 같은 날짜가 없으면 그달의 말일로 대신하고, 말일이 끝난 때에 1개월로 셉니다. 예를 들어 2023년 1월 31일에 태어난 아기는 2023년 2월 28일 기준으로는 ‘0개월 28일’(아직 1개월로 세지 않음)이고, 3월 1일 기준으로 ‘1개월 1일’이 됩니다. 이때 남는 날은 대신 쓴 말일(2월 28일)부터 다시 세므로, ‘0개월 28일’ 다음 날이 곧바로 ‘1개월 1일’이 되어 ‘딱 1개월 0일’인 날은 없습니다. |
| 윤년 | 2월 29일이 있는 해입니다. 원칙적으로 4년에 한 번이지만, 100으로 나누어떨어지는 해는 평년, 400으로 나누어떨어지는 해는 윤년입니다(2100년은 평년, 2000년은 윤년). 2월 29일생인 사람은 이 계산기에서 평년에는 3월 1일에 한 살이 늘어나는 것으로 다룹니다. |
| 연 나이 | 생일과 관계없이 ‘기준일의 연도 − 태어난 연도’로 세는 나이입니다(세는 나이보다 1살 적음). 한국 기준으로 청소년보호법(술·담배 구매 연령), 병역법, 초등학교 입학 연령 등은 만 나이 통일 뒤에도 이 연 나이나 출생 연도를 기준으로 합니다. 예를 들어 청소년보호법에서는 연 나이가 19 미만인 사람이 청소년이므로, 19세가 되는 해의 1월 1일부터 술·담배를 살 수 있습니다. |
| 생후 일수 | 태어난 날을 0일로 하여 센 날수입니다. 이 계산기의 ‘일수로 나타내면’은 이 방식입니다. 태어난 날을 1일째로 세는 ‘며칠째’(백일 잔치의 ‘백일’ 등)와는 하루 차이가 나니 주의하세요. |
| 만 나이 통일법 | 2023년 6월 28일부터 시행된 행정기본법·민법 개정을 이르는 말입니다(한국 기준). 따로 정한 규정이 없으면 법령·계약·공문서에 적힌 나이를 만 나이로 해석하도록 했습니다. 민법 제158조는 ‘나이는 출생일을 산입하여 만 나이로 계산하고, 연수로 표시한다(1세 미만은 월수로 표시할 수 있다)’고 정하고 있습니다. |
먼저 알아 두면 좋은 내용
이 페이지의 계산을 ‘뜻을 알고’ 쓸 수 있도록, 먼저 알아 두면 좋은 내용을 정리했습니다.
막히면 이 표의 내용으로 돌아가 복습하는 것이 지름길입니다.
| 큰 수의 뺄셈(초등학교 3학년, 8~9세) |
|
| 시각과 시간, 달력(초등학교 2~3학년, 7~9세) |
|
| 곱셈의 세로셈(초등학교 3학년, 8~9세) |
|
| 나머지가 있는 나눗셈(초등학교 3학년, 8~9세) |
|
Excel로 계산하는 방법
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 만 나이(세) | =DATEDIF(B1,B2,"Y") |
| 남는 개월 수 | =DATEDIF(B1,B2,"YM") |
| 남는 일수 | =DATEDIF(B1,B2,"MD") |
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 세는 나이(세) | =YEAR(B2)-YEAR(B1)+1 |
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 총개월 수 | =DATEDIF(B1,B2,"M") |
| 총일수(생후 일수) | =B2-B1 |
| 주 수 | =INT((B2-B1)/7) |
| 남는 날수(주의 나머지) | =MOD(B2-B1,7) |
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 시간으로 나타내면 | =(B2-B1)*24 |
| 분으로 나타내면 | =(B2-B1)*1440 |
| 초로 나타내면 | =(B2-B1)*86400 |
| 생년월일 | 1990-01-15 |
| 오늘 기준 만 나이(세) | =DATEDIF(B1,TODAY(),"Y") |
첫 번째 표의 예라면 B3 = 36, B4 = 5, B5 = 18, 즉 ‘36세 5개월 18일’이 됩니다. 세 번째 표에서는 총일수가 13,318일, 주 수가 1,902주 4일입니다. ‘=B2-B1’의 결과가 날짜 모양으로 표시되면 셀 서식을 ‘숫자’로 바꾸세요.
세는 나이(두 번째 표)는 생일이 지났는지와 관계없이 ‘연도의 차 + 1’로 정해지므로, YEAR 함수로 연도만 꺼내 빼고 태어나자마자 1세로 세는 몫인 1을 더하면 됩니다. 예의 경우 2026 − 1990 + 1 = 37세입니다(+1을 빼면 연 나이 36세).
주의: DATEDIF의 "MD"는 월말이 얽힌 날짜(31일생 등)에서 이 계산기의 해당일 방식과 1~2일 어긋나거나, 드물게 이상한 값이 나오는 것으로 알려져 있습니다. 남는 일수가 중요할 때는 이 계산기의 결과를 기준으로 삼으세요.
마지막 표처럼 TODAY()를 쓰면 파일을 열 때마다 ‘오늘 기준 나이’로 자동 갱신되어 편리합니다.
Google 스프레드시트로 계산하는 방법
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 만 나이(세) | =DATEDIF(B1,B2,"Y") |
| 남는 개월 수 | =DATEDIF(B1,B2,"YM") |
| 남는 일수 | =DATEDIF(B1,B2,"MD") |
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 세는 나이(세) | =YEAR(B2)-YEAR(B1)+1 |
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 총개월 수 | =DATEDIF(B1,B2,"M") |
| 총일수(생후 일수) | =B2-B1 |
| 주 수 | =INT((B2-B1)/7) |
| 남는 날수(주의 나머지) | =MOD(B2-B1,7) |
| 생년월일 | 1990-01-15 |
| 기준일 | 2026-07-03 |
| 시간으로 나타내면 | =(B2-B1)*24 |
| 분으로 나타내면 | =(B2-B1)*1440 |
| 초로 나타내면 | =(B2-B1)*86400 |
| 생년월일 | 1990-01-15 |
| 오늘 기준 만 나이(세) | =DATEDIF(B1,TODAY(),"Y") |
세는 나이(두 번째 표)는 YEAR 함수로 연도만 꺼내 ‘연도의 차 + 1’을 계산합니다. 예의 경우 2026 − 1990 + 1 = 37세입니다.
DATEDIF의 "MD"가 월말이 얽힌 날짜에서 1~2일 어긋날 수 있다는 점도 Excel과 같습니다.
Python으로 계산하는 방법
from datetime import date
birth = date(1990, 1, 15) # 생년월일
ref = date(2026, 7, 3) # 기준일(오늘로 하려면 date.today())
# 만 나이: 연도의 뺄셈 − (생일이 아직 오지 않았으면 1)
age = ref.year - birth.year - ((ref.month, ref.day) < (birth.month, birth.day))
total_days = (ref - birth).days # 태어난 뒤 지난 일수(생후 일수)
weeks, extra_days = divmod(total_days, 7) # 주 수와 남는 날수
print(f"만 나이: {age}세")
print(f"지난 일수: {total_days}일({weeks}주 {extra_days}일)")
print(f"시간: {total_days * 24}시간 / 분: {total_days * 1440}분 / 초: {total_days * 86400}초")
LaTeX 등 수식 언어로 쓰는 법(복사 가능)
A = Y₂ − Y₁ − d (d: 기준일이 그해 생일보다 앞이면 1, 생일 당일 이후면 0)
A = Y_2 - Y_1 - d, \quad d = \begin{cases} 1 & ((M_2, D_2) < (M_1, D_1)) \\ 0 & (\text{otherwise}) \end{cases}
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>A</mi><mo>=</mo>
<msub><mi>Y</mi><mn>2</mn></msub><mo>−</mo>
<msub><mi>Y</mi><mn>1</mn></msub><mo>−</mo>
<mi>d</mi><mo>,</mo><mspace width="0.7em"/>
<mi>d</mi><mo>=</mo>
<mrow>
<mo>{</mo>
<mtable columnalign="center left">
<mtr>
<mtd><mn>1</mn></mtd>
<mtd><mrow><mo>(</mo><msub><mi>M</mi><mn>2</mn></msub><mo>,</mo><msub><mi>D</mi><mn>2</mn></msub><mo>)</mo><mo><</mo><mo>(</mo><msub><mi>M</mi><mn>1</mn></msub><mo>,</mo><msub><mi>D</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd>
</mtr>
<mtr>
<mtd><mn>0</mn></mtd>
<mtd><mtext>otherwise</mtext></mtd>
</mtr>
</mtable>
</mrow>
</mrow>
</math>
A = Y_2 - Y_1 - d, d = {(1, if (M_2, D_2) < (M_1, D_1)), (0, otherwise):}
age = y2 - y1 - Boole[m2 < m1 || (m2 == m1 && d2 < d1)]
age := y2 - y1 - piecewise(m2 < m1 or (m2 = m1 and d2 < d1), 1, 0);
age = y2 - y1 - (m2 < m1 | (m2 == m1 & d2 < d1));
A = Y_2 - Y_1 - d (d: 기준일이 그해 생일보다 앞이면 1, 생일 당일 이후면 0)
M = 12A + m
M = 12A + m
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<mi>M</mi><mo>=</mo>
<mn>12</mn><mi>A</mi>
<mo>+</mo><mi>m</mi>
</mrow>
</math>
M = 12A + m
totalMonths = 12*age + extraMonths
totalMonths := 12*age + extraMonths;
total_months = 12*age + extra_months;
M = 12A + m
Tₕ = 24N, Tₘ = 1440N, Tₛ = 86400N, N = 7W + r (0 ≤ r ≤ 6)
T_h = 24N,\quad T_m = 1440N,\quad T_s = 86400N,\quad N = 7W + r\ \ (0 \le r \le 6)
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block">
<mrow>
<msub><mi>T</mi><mi>h</mi></msub><mo>=</mo><mn>24</mn><mi>N</mi><mo>,</mo><mspace width="0.7em"/>
<msub><mi>T</mi><mi>m</mi></msub><mo>=</mo><mn>1440</mn><mi>N</mi><mo>,</mo><mspace width="0.7em"/>
<msub><mi>T</mi><mi>s</mi></msub><mo>=</mo><mn>86400</mn><mi>N</mi><mo>,</mo><mspace width="0.7em"/>
<mi>N</mi><mo>=</mo><mn>7</mn><mi>W</mi><mo>+</mo><mi>r</mi><mspace width="0.7em"/>
<mo>(</mo><mn>0</mn><mo>≤</mo><mi>r</mi><mo>≤</mo><mn>6</mn><mo>)</mo>
</mrow>
</math>
T_h = 24N, T_m = 1440N, T_s = 86400N, N = 7W + r (0 <= r <= 6)
hours = 24*days; minutes = 1440*days; seconds = 86400*days; {weeks, remDays} = QuotientRemainder[days, 7]
hours := 24*days; minutes := 1440*days; seconds := 86400*days; weeks := iquo(days, 7); remDays := irem(days, 7);
num_hours = 24*num_days; num_minutes = 1440*num_days; num_seconds = 86400*num_days; num_weeks = floor(num_days/7); rem_days = mod(num_days, 7);
T_h = 24N, T_m = 1440N, T_s = 86400N, N = 7W + r (0 ≤ r ≤ 6)
ChatGPT 에게 물어서 계산하는 방법
당신은 나이 계산 도우미입니다. 다음 계산을 반드시 Python 코드를 실제로 실행해서 하고, 실행 결과의 수치만을 근거로 답하세요(암산이나 추측으로 답하지 마세요). 생년월일은 1990년 1월 15일입니다. 2026년 7월 3일 기준으로 다음 값을 각각 구하세요. 1. 만 나이(몇 세 몇 개월 며칠. ‘1개월’은 다음 달의 같은 날짜(해당일)에 이르렀을 때 세고, 해당일이 없는 달은 그달 말일이 끝난 때에 1개월로 세는 방식으로) 2. 태어난 뒤의 총일수(태어난 날을 0일로 셈)와, 그것을 주로 나타낸 ‘몇 주 며칠’ 3. 다음 생일(생일 당일에 한 살이 늘어나는 것으로 함)까지 며칠 남았는지 계산에 사용한 코드와 실행 결과의 수치를 보여 주세요.
사용법
-
1숫자 입력계산하고 싶은 숫자를 입력란에 입력합니다
-
2계산‘계산’ 버튼을 누릅니다
-
3결과 확인계산 결과가 바로 표시됩니다. 계산의 원리와 공식 해설도 같은 페이지에서 확인할 수 있습니다
DataChef의 특징
전문 지식 없이도 직관적이고 간단하게 사용
개인정보를 등록하지 않고도 이용할 수 있습니다
"다운로드"를 누르면 파일이 자동으로 삭제됩니다
출처 표기 불필요
상업적 이용 허가 연락도 필요 없습니다