コンテンツにスキップ

年齢計算機 — 年、月、日での正確な年齢

生年月日を入力すると、年・月・日の単位での正確な年齢をすぐに計算する無料の年齢計算機。総週数、総日数、総時間数も同時に表示するほか、次の誕生日までの残り日数もわかるので、記念日の確認や年齢を証明する書類の作成準備、周囲へのお祝いの贈り物の計画づくりにも幅広く役立てられる。

年齢計算機

正確な年齢
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番目のフィールドを今日の日付のままにすると現在の年齢が表示されます。過去または将来の日付に変更すると、その日付時点での年齢を知ることができます。

年齢計算を複雑にする1つのルール: 月と年は固定された日数ではありません。2月は28日または29日、その他の月は30日または31日です。したがって「1ヶ月」は「1ヶ月後の同じ日付」を意味し、「30日」ではありません。この計算機はそのカレンダールールに従っているため、単に30または365で割るツールとは1~2日異なる場合があります。

年齢の計算方法

年齢は2つの日付間のギャップです。このギャップを測定する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. 経過時間合計(日、時間、秒)。 「他の単位での年齢」の数字については、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)。この1つの詳細 - ほとんどの人が忘れている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.betweenおよびChronoUnit.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.