본문으로 건너뛰기

나이 계산기 — 정확한 연령을 연, 월, 일 단위로

나이 계산기는 생년월일을 입력하면 오늘 날짜를 기준으로 정확한 나이를 연, 월, 일 단위로 계산한다. 총 주수, 총 일수, 총 시간수, 다음 생일까지 남은 일수도 함께 보여주어 생일이나 기념일, 법적 나이 확인 등 여러 상황에서 활용할 수 있다.

나이 계산기

정확한 나이
36 7 개월 9

당신은 다음 요일에 태어났습니다: Monday

다음 생일: 144일 후 (37살이 됩니다)

당신의 나이(다른 단위)

개월
439
1,910
13,370
시간
320,880
19,252,800
1,155,168,000

인생 진행 상황

당신의 나이를 예시적인 80년의 기준 범위에 대해 비교한 것입니다.

나이 시각화3636 / 80 yr080
로딩 계산기...
📚

문서화

이 계산기의 기능

생년월일을 입력하면 정확히 몇 살인지를 연, 월, 일로 알려줍니다. 마치 입으로 말하듯이 ("저는 33년, 4개월, 5일입니다"). 동시에 같은 나이를 순수하게 개월, 주, 일, 시간, 분, 초 단위로도 표시하고, 태어난 요일과 다음 생일까지 남은 기간도 보여줍니다.

두 번째 필드를 오늘 날짜로 두면 현재 나이를 계산하거나, 다른 과거 또는 미래의 날짜로 변경하여 그 날짜에서의 나이를 찾을 수 있습니다.

나이를 복잡하게 만드는 한 가지 규칙: 개월과 연도는 고정된 날짜 수가 아닙니다. 2월은 28일 또는 29일이고, 다른 달은 30일 또는 31일입니다. 따라서 "1개월"은 "정확히 한 달 뒤의 같은 날짜"를 의미하며, "30일"이 아닙니다. 이 계산기는 이 달력 규칙을 따르므로, 단순히 30일이나 365일로 나누는 도구와 1~2일 차이가 날 수 있습니다.

나이가 어떻게 계산되는지

나이는 두 날짜 사이의 간격입니다. 이 간격을 측정하는 두 가지 정직한 방법이 있으며, 이 도구는 둘 다 보여줍니다.

1. 달력 나이(연, 월, 일). 생년월일부터 전체 연도를 세고, 전체 개월을 센 다음, 남은 날짜를 세십시오:

  1. 출생 이후 전체 연도 계산.
  2. 마지막 생일부터 전체 개월 계산.
  3. 거기서 남은 날짜를 계산합니다.

미묘한 부분은 월 경계 근처의 3단계입니다. 1월 31일에 태어난 사람을 3월 1일에 측정하면 1개월 1일 입니다. 왜냐하면 "1월 31일로부터 1개월 후"는 2월 28일/29일에 해당하기 때문입니다(2월 31일은 없음). 3월 1일은 그 이후 1일입니다. 이 계산기는 더 짧은 달의 끝으로 조정하므로, 월말 생일은 음수 일수를 만들지 않습니다. 널리 사용되는 dateutil.relativedelta 규칙과 일치합니다.

2. 총 경과 시간(일, 시간, 초). "다른 단위의 나이" 수치를 위해 두 날짜는 전체 날짜 수로 변환되고 곱해집니다:

days=target datebirth date86,400,000 ms\text{days} = \left\lfloor \frac{\text{target date} - \text{birth date}}{86{,}400{,}000 \text{ ms}} \right\rfloor

두 날짜 모두 UTC 자정으로 먼저 핀으로 고정되므로, 일광 절약 시간제 변경으로 인해 시간이 추가되거나 제거되어 일수 계산에 영향을 미칠 수 없습니다. 주는 일수 ÷ 7(내림); 시간, 분, 초는 일수를 확대합니다.

왜 단순히 일수를 365로 나누지 않나요? 표류하기 때문입니다. 7,305일을 365로 나누면 20.01년이 나오고, 365.25로 나누면 20.00년이 나오지만, 둘 다 어떤 연도가 윤년이었는지나 실제로 어떤 달을 살았는지 알지 못합니다. 달력 계산은 정확하고, 일 나누기는 근사값입니다. 달력 나이를 "나는 몇 살인가"에 사용하고, 총 일/주를 정확한 경과 시간 계산(약 복용 시간, 프로젝트 기간, 이정표 카운트다운)에 사용하세요.

예시

2000년 1월 1일 태생, 2020년 1월 1일 측정:

측정
달력 나이20년, 0개월, 0일
총 일수7,305
총 주수1,043
태어난 요일토요일

7,305일 = 20 × 365 + 5개의 윤일(2000, 2004, 2008, 2012, 2016). 그 하나의 세부 사항 — 대부분의 사람들이 잊는 5개의 추가 날짜 — 이 정확히 계산기가 암산보다 나은 이유입니다.

Birth date to target date: 20 years, 7,305 days Birth 2000-01-01 Target 2020-01-01 20 years = 7,305 days

코드의 나이

각 언어로 동일한 계산입니다. 달력 나이의 경우 손으로 작성한 산술보다 기본 제공 날짜 라이브러리를 선호하세요. 이미 윤년과 월 길이를 알고 있습니다.

1' Whole days between two dates (A1 = birth, B1 = target):
2=B1-A1
3
4' Calendar age in complete years / months / leftover days:
5=DATEDIF(A1, B1, "y") & " years, " & DATEDIF(A1, B1, "ym") & " months, " & DATEDIF(A1, B1, "md") & " days"
6

자주 묻는 질문

정확히 몇 살입니까? 생년월일을 입력하고 목표를 오늘로 두세요. 계산기에서 당신의 나이를 연, 월, 일로 표시하고 총 일, 주, 시간, 초로 반복됩니다.

내 나이가 다른 계산기와 다른 이유는 무엇입니까? 거의 항상 개월/일 나머지입니다. 도구는 월 경계에서 마지막 전체 달 이후의 날짜를 계산하는 방법에 대해 동의하지 않습니다. 이것은 더 짧은 월로 조정합니다(relativedelta 규약); 30으로 나누는 도구는 1~2일 차이가 날 것입니다.

윤년 및 2월 29일 생일을 처리합니까? 네. 일 계산에는 범위의 모든 윤일이 포함되며, 2월 29일 생일은 비윤년에서 2월 28일/3월 1일에 대해 측정되며 오버플로우하지 않습니다.

과거 또는 미래 날짜에서 나이를 계산할 수 있습니까? 네 — "해당 날짜의 나이" 필드를 모든 날짜로 설정하세요. 미래 날짜는 그 날짜에 얼마나 나이가 될지를 알려주고, 과거 날짜는 당시 나이를 알려줍니다.

시간대는 어떻게 되나요? 날짜는 계산 전에 UTC로 정규화되므로 전체 일수는 당신이 어디에 있든지 또는 일광 절약 시간제가 변경되었는지 여부에 관계없이 안정적입니다.

출처

  1. Python dateutilrelativedelta (이 도구가 따르는 달력 나이 개월/일 규칙).
  2. Java Platform — Period.betweenChronoUnit.DAYS.
  3. Microsoft Excel — DATEDIF 함수.
  4. MDN Web Docs — Date.
  5. Dershowitz, N., & Reingold, E. M. Calendrical Calculations: The Ultimate Edition. Cambridge University Press, 2018.