年齢を総秒数で計算するツール
年齢の総秒数計算ツールは、生年月日から指定した基準日までの期間を、整数の秒数1つに変換します。年・月・日では大まかすぎるカウンター、記念日、データ項目、比較などに便利です。グレゴリオ暦の日付をYYYY-MM-DD形式で2つ入力してください。両方の日付を検証し、うるう日を含む経過日数を数え、1日当たりの秒数を掛けて結果を求めます。
無料で実行
生年月日と基準日を指定します
最初に生年月日を入力し、次に年齢を測る基準日を選びます。どちらも厳密なYYYY-MM-DD形式を使用するため、1992年3月9日は1992-03-09と入力します。基準日には、アプリケーションから明示的に渡す本日の日付、過去時点を調べるための日付、将来の節目を計画するための日付を指定できます。この計算ツールは現在時刻を参照しません。そのため、同じ入力による結果は常に安定し、後から検証できます。各日付はUTCの午前0時として扱います。日付だけでは時刻やタイムゾーンが定まらないため、この共通基準が重要です。基準日は生年月日と同じ日か、それより後でなければなりません。前の日を指定した場合は、負の年齢を返さず、入力エラーとして扱います。2025-02-29や2024-13-01のように存在しない日付も拒否するため、無効な暦からもっともらしい合計値が作られることはありません。
総秒数の計算方法を確認します
まず、有効なグレゴリオ暦の日付を、整数の暦計算によって連続した通算日番号へ変換します。次に、基準日の番号から生年月日の番号を引き、その差に86,400を掛けます。86,400は、通常の24時間の1日に含まれるSI秒の正確な数です。グレゴリオ暦のうるう年規則も直接適用します。4で割り切れる年はうるう年ですが、世紀の年は400でも割り切れる場合に限ってうるう年になります。そのため、期間内に2月29日が実在するときだけ、1日分が加算されます。出力では、確認しやすい中間値をtotal_days、主な答えをtotal_secondsとして示します。入力はタイムスタンプではなく日付なので、1日に満たない時間は意図的に含めません。夏時間の切り替え、地域のタイムゾーン、うるう秒、出生時刻も推測しません。入力の精度を超える主張をせず、計算や記録に適した再現可能な暦上の値を提供します。
アプリや記念日に結果を正しく使います
暦による年齢表現ではなく、比較できる単一の数値が必要な場合はtotal_secondsを使用します。記念ページでは、生きた秒数が大きな節目に達した時点を示せます。授業では共通の単位で寿命を比較でき、データ処理では並べ替えや分析の前に日付由来の年齢を正規化できます。後から誰でも計算を再現できるよう、合計値とともにbirth_dateとreference_dateを保存してください。元のシステムに正確な出生タイムスタンプがある場合、この日付専用ツールはタイムスタンプ同士の差分計算の代わりにはなりません。あくまで一方の日付のUTC午前0時から、もう一方の日付のUTC午前0時までを測ります。また、一般の暦には過去のうるう秒が記録されないため、原子時の経過時間として解釈しないでください。通常の年齢秒数や日付ベースのカウンターには、一貫して安定した方式です。ブラウザーでは無料で計算でき、APIの自動リクエストは表示された基本料金$0.002で同じ結果を返します。
活用例
生きた秒数の節目を祝います
誕生から出来事までの期間を1つの数値に変換し、記念カード、カウンター、お知らせに利用します。
分析用に年齢を統一します
比較、並べ替え、書き出しの前に、日付から求めた年齢を共通の単位で表します。
暦の計算を学習します
平年、うるう年、経過日数、秒数の関係を、再現できる日付を使って説明します。
よくある質問
計算結果には何が含まれますか?
検証済みの生年月日と基準日、経過した総日数、経過した総秒数が返されます。
うるう年は含まれますか?
はい。世紀の例外と400年ごとの例外を含む、グレゴリオ暦の規則を適用します。
本日の日付は自動で使われますか?
いいえ。基準日をご指定ください。同じ入力からは常に同じ結果が得られます。
時刻やタイムゾーンも含まれますか?
いいえ。両方の日付をUTCの午前0時として扱い、完全な日数を秒へ変換します。
基準日を生年月日より前にできますか?
いいえ。その順序は無効な入力として拒否され、負の年齢は表示されません。
API計算の料金はいくらですか?
APIリクエストごとに表示された基本料金$0.002が適用され、ブラウザー版は無料です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/age-total-seconds \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"birth_date":"2000-01-01","reference_date":"2025-01-01"}'const res = await fetch("https://api.kit.forhosting.com/date/age-total-seconds", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"birth_date": "2000-01-01",
"reference_date": "2025-01-01"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/age-total-seconds",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"birth_date": "2000-01-01",
"reference_date": "2025-01-01"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/age-total-seconds", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"birth_date":"2000-01-01","reference_date":"2025-01-01"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"birth_date":"2000-01-01","reference_date":"2025-01-01"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/age-total-seconds", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"birth_date": "2000-01-01",
"reference_date": "2025-01-01"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.age_total_seconds",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |