酔いがさめるまでの時間計算
この計算ツールは、血中アルコール濃度が一定の速度で低下すると仮定し、現在の濃度がゼロになるまでの時間を推定します。BACはパーセント値で入力してください。たとえば0.08%なら0.08とし、分解速度は1時間当たりのパーセントポイントで指定します。結果は数学的な推定値であり、運転、勤務、他人の見守り、服薬、安全に関わる作業が可能だと証明するものではありません。代謝には個人差があり、測定には誤差があり、アルコールの吸収が続いている場合もあります。
無料で実行
濃度と分解速度の単位をそろえてください
現在のBACはパーセント値で入力します。一般に0.08%と表記される測定値は0.08と入力し、8や0.0008にはしません。分解速度も同じ基準の1時間当たりパーセントポイントで指定します。0.015なら、モデル上は1時間ごとにBACが0.015パーセントポイント低下します。この計算では濃度を速度で割るため、単位をそろえることが重要です。単位を間違えると、もっともらしい数値のまま結果が100倍または100分の1になる可能性があります。有限の数値を2つ指定する必要があり、現在濃度はゼロ以上、分解速度はゼロより大きい値にしてください。未入力、文字列、負の濃度、ゼロの速度、有限でない値には、明確な入力エラーを返します。BACがすでにゼロなら推定残り時間もゼロです。測定方法や参照している専門的な指針に沿った速度を使用し、一般的な値を個人固有の生理的事実とはみなさないでください。体重、性別、食事、飲酒量、症状から速度を推測する機能ではありません。
直線的な推定方法をご理解ください
計算式は明確で、ゼロまでの時間は現在のBACパーセント値を1時間当たりの分解速度で割った値です。BACが0.08、速度が0.015の場合は約5.333333時間になります。読みやすいように、丸めた推定値を整数時間と残り分にも分けて返し、自動処理用の時間値は小数点以下6桁まで保持します。同じ数値を入力すれば常に同じ結果になり、ネットワーク通信、乱数、時計、保存済みプロフィール、非公開の補正は使用しません。このモデルは、すでに分解が始まり、一定速度で進み、計算上の濃度がゼロになるまで続くと仮定します。しかし実際の身体反応はさらに複雑です。最後の飲酒後もBACが上昇することがあり、分解速度には個人差や時間差があります。一般向け測定器には不確かさがあり、杯数は直接測定ではありません。そのため、結果は明示した仮定に基づく算術値であり、医学的予測、法的な濃度判定、時間経過後の完全な酔いさめを保証するものではありません。
結果は十分な余裕を持ってご利用ください
推定値は計画の参考情報として扱い、危険を伴う行動を計算上の時刻ちょうどに予定せず、適切な安全余裕を加えてください。意識がはっきりしている感覚だけではBACがゼロとは確認できません。コーヒー、食事、シャワー、運動、睡眠でこの式の時間が短くなることもありません。モデル上の濃度を下げるのは経過時間だけです。運転や機械操作が関係する場合は、この結果に頼らず、飲酒していない運転者、タクシー、公共交通機関など安全な方法を選んでください。呼びかけても起きにくい、呼吸が遅いまたは不規則、繰り返し吐く、混乱している、けいれんがある、皮膚が青白いなどの症状があれば、計算を待たず直ちに地域の救急機関へ連絡してください。システムに組み込む場合は、想定した速度と単位を後から確認できるよう、元の入力値も結果と一緒に保存してください。APIは1回$0.002で、フォーム、表計算、社内ツール向けの構造化データを返します。処理はローカルかつ解析的で、外部事業者やランダムな変動はありません。
活用例
安全を優先した帰宅計画
測定済みBACから最低限の待機時間を推定し、推定値の正確さに依存しない交通手段を選ぶ参考にできます。
BACの直線モデルを説明
濃度を1時間当たりの速度で割ると推定時間になる仕組みを、学習者や研修参加者に示せます。
決定論的な計画機能を追加
ネットワーク、プロフィール、時計、ランダムな仮定を使わず、一貫した時間と分の構造化結果を返せます。
よくある質問
安全に運転できる時刻が分かりますか?
いいえ。簡略化した推定であり、運転の安全性や法的な酔いさめを証明しません。安全な代替手段を選び、地域の法令に従ってください。
どの単位で入力しますか?
BACは0.08%なら0.08のようにパーセント値で、速度は0.015のように1時間当たりのパーセントポイントで入力します。
どの計算式を使用しますか?
ゼロまでの時間は、現在のBACパーセント値を1時間当たりの分解速度で割って求めます。
コーヒーや睡眠で計算時間は短くなりますか?
いいえ。モデルが使うのはBACと指定速度だけで、コーヒー、食事、シャワー、運動、睡眠による短縮は加味しません。
APIの料金はいくらですか?
APIは1回$0.002です。外部データサービスを使わず、ローカルでも計算できる設計です。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/time-to-sober \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current_bac_percent":0.08,"elimination_rate_percent_per_hour":0.015}'const res = await fetch("https://api.kit.forhosting.com/health/time-to-sober", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current_bac_percent": 0.08,
"elimination_rate_percent_per_hour": 0.015
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/time-to-sober",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current_bac_percent": 0.08,
"elimination_rate_percent_per_hour": 0.015
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/time-to-sober", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current_bac_percent":0.08,"elimination_rate_percent_per_hour":0.015}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current_bac_percent":0.08,"elimination_rate_percent_per_hour":0.015}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/time-to-sober", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"current_bac_percent": 0.08,
"elimination_rate_percent_per_hour": 0.015
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.time_to_sober",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |