年齢の問いは、出生日期に一端を固定した日付差の問いです:2 つの自由な日付ではなく、一端は固定され、もう一端は現在の瞬間です。年齢計算機は単一の出生日入力でこれに答えます:出生日期を入力し、計算を押すと、結果行は年・月・日の内訳で年齢を読み、次に総日数(週、時間)を読み、最後に次の誕生日までのカウントダウンを読みます。この記事の例では、1990 年 1 月 15 日生まれの人が、2026 年 9 月 18 日時点で 36 歳 8 ヶ月 3 日、合計 13395 日、次の誕生日 2027 年 1 月 15 日までは 119 日と読まれます。
記事は以下の順で進みます:年・月・日の三段の内訳と月日の繰り下げの規則;総日数・総週間・総時間の直線カウント;次の誕生日までのカウントダウン;2 月 29 日生まれの振替とローカル真夜中の解析;年齢が他の計算機の入力になる場所;そして出生日期をコードへ持っていくこと。
三段の内訳と繰り下げの規則
年齢は日数を平均で割った数字ではなく、暦単位で読みます。年は年の差から、月は月の差から、日は日の差から取られ、日が負になる場合は月を 1 減らし、日付に今月より前の月の長さを足します。読みを 2026 年 9 月 18 日ではなく 2026 年 9 月 3 日に変えると、日の差は 3 から 15 を引いて負 12 になり、月は 8 から 7 に下がり、日付には 8 月の 31 日を足して 19 日になります:36 歳 7 ヶ月 19 日。同じ人は 9 月 18 日に 36 歳 8 ヶ月 3 日で、9 月 3 日に 36 歳 7 ヶ月 19 日、ちょうど 15 日の差です。
総日数・総週間・総時間:直線カウント
内訳の下で、結果行は同じ期間を純粋なカウントとして出します。1990 年 1 月 15 日から 2026 年 9 月 18 日までは 13395 日、週数は 7 で割って切り捨てた 1913 週間、時間数は日数を 24 倍した 321480 時間で、時計で測ったのではなく日数から導いた整数倍です。この正確な日数は日付計算機の差値モードが任意の 2 つの日付のあいだで報告する数字そのもので、日付差の記事がそのモードを最初から最後まで通します。
次の誕生日までのカウントダウン
3 行目は、今日より後に誕生日の月と日がつぎに現れる日を見つけて、そこまでの日数を数えます。2026 年 9 月 18 日から次の 1 月 15 日までは 119 日:9 月残り 12 日、10 月 31 日、11 月 30 日、12 月 31 日、1 月 15 日。その着日こそ未来日付の記事が扱う将来日付の問いで、誕生日を対象に、残り日数を期間とします。カウントダウンは誕生日当日、約 365 日という満年数から最初に戻ります。判定は到着した誕生日をすでに過ぎたものとみなすためです。未来の出生日期は負の年齢ではなく、1 行のエラーで拒否されます。
2 月 29 日とローカル真夜中の解析
うるう日誕生日には月計算の振替規則が伴います:非うるう年には 2 月 29 日がないため、次の誕生日は 3 月 1 日になり、2000 年 2 月 29 日生まれは 2027 年に 3 月 1 日を迎え、2028 年には 2 月 29 日に戻ります。日数差の計算は、出生日期が UTC 真夜中ではなくローカル真夜中として読み込まれることに依存します。UTC 解析は UTC より西のすべてのタイムゾーンで 1 日早く読み、上に示した日の繰り下げを壊すためです。
年齢が入力になる場所
年齢の数字は、他のいくつかの計算機への入場券です。退職計算機は現在年齢 30、退職年齢 65 をデフォルトに受け取り、そのあいだの就業年数にわたって積立スケジュールを計画します。FIRE計算機は同じ現在年齢から出発し、残高が収入を必要としなくなる年齢を報告します。ローンはこのパターンの遠い端を加えます:1990 年 1 月 15 日生まれで 2026 年 1 月 15 日に 36 歳になる人が 30 年の期間を取ると、2056 年 1 月 15 日の 66 歳で完済し、ローン計算機がそれを返済計画に持ち込みます。
生年月日をコードへ
出生日期がコードやサーバー、あるいは秒数を要求するフォームへ移動する必要があるとき、Unixタイムスタンプ変換がそれを紀元からの単一の整数秒数に書き換えます。タイムゾーン選択は明示します。年齢自体は最後まで差の問いのままです:一端は出生日期に固定され、もう一端は問いが求める場所です。