禁酒期間の計算機
断酒を始めた日と今日の日付を入れると、経過した期間を年・月・日で表示します。2020年1月15日から2026年7月25日までなら6年6か月10日です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 断酒開始日
- 2020-01-15
- 現在の日付
- 2026-07-25
- 年数
- 6
- 月数
- 6
- 日数
- 10
- 合計日数
- 2,383
禁酒期間の計算機は、回復の途上にある方、スポンサー、ウェルネスアプリが毎日問う暦の問いに答えます。酒・薬物・その他の物質が生活から去った日を起点に、選んだ基準日までに丸ごとの年・月・日がいくつ経過したかです。グレゴリオ暦の日付を YYYY-MM-DD で二つ送ってください。
経過した禁酒が市民暦の年・月・日で意味すること
経過した禁酒はストップウォッチではなく、市民暦の区間です。回復の途上にある方は、チップの会合で使うのと同じ内訳を求めることが多いです。丸ごとの年、残りの月、残りの日を、継続した禁酒の最初の暦日から選んだ基準日まで数えます。
市民内訳は開始日から暦月を足し、先の月が短いときは日を末尾に締めます。一月三十一日に一か月を足すと二月の最終日になり、閏年なら二月二十九日です。その締めた日付が基準日を越えると月数を戻し、最後に残りの丸一日を報告します。
閏年は四・百・四百のなじみの規則に従うので、2024年2月29日開始は日を締めて2025年2月28日で一年、2025年3月1日で一年と一日です。両欄が同じ日ならゼロ区間として有効です。その最初の暦日を「一日禁酒」と呼ぶ包括数えは会合の慣例であり、この契約ではありません。
本ツールはホスト時計を読まず、時間帯のずれを組み立てず、現地の真夜中か UTC かを推測しません。
禁酒期間の計算が役立つ場面と限界
回復のチップ、記念カード、スポンサーとの確認が典型の仕事です。開始日はすでに分かっており、二月を手計算で間違えない、読み上げや印刷に耐える年・月・日の安定した一行が欲しいときです。ウェルネスアプリ、回復日誌、伴走ボットは、各クライアントで閏年表を書き直す代わりに同じ契約を呼べます。
市民期間の授業演示は開始日を変えるとすぐに閏日の締めが見え、ホストの Date オブジェクトが時間帯のずれの近くで誤りやすい縁です。時・分・秒は数えず、再発の窓をモデル化せず、つまづきが個人の時計を戻すかも決めません。その方針は本人とプログラムのものです。
任意の二日を引きたいときに探す汎用の日付差ツールと混同しないでください。ここでの検索意図は禁酒開始からの経過時間であり、誤り契約は一般の減算器が宣伝しない未来開始の規則です。
活用例
回復のチップと記念カード
禁酒の開始と式の日を入れて、二月を手で数えずに年・月・日をチップ、カード、メダルに印刷します。
スポンサー確認と会合での分かち合い
同じ開始日と本日の暦日から、確認や分かち合い用の安定した経過句を求めます。同日のゼロ区間も含みます。
よくある質問
禁酒開始日が基準日より後だとどうなりますか?
開始日が基準日より後のとき経過禁酒は未定義で、その失敗は課金されません。
二月二十九日のような閏日はどう扱いますか?
閏年はグレゴリオ規則 4 / 100 / 400 に従います。暦月を足すと先の月の最終日に締めるので、平年に二月二十九日へ十二か月を足すと二月二十八日になります。
始めた日が今日と同じだと0日になるのはなぜですか?
開始日を含めずに数えるためです。開始日と基準日が同じなら、0年0か月0日になります。初日を1日目と数える集まりもあり、その場合の数字は1日多くなります。
通算の日数も分かりますか?
分かります。年・月・日に加えて、2つの日付の間の丸一日の合計も表示します。2020年1月15日から2026年7月25日までなら2383日です。
翌月の日数が少ないときはどうなりますか?
その月の末日に合わせます。1月31日に始めた場合、1か月になるのは2月の末日で、閏年なら2月29日です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/health/sobriety \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sobriety_date":"2020-01-15","current_date":"2026-07-25"}'const res = await fetch("https://api.kit.forhosting.com/health/sobriety", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sobriety_date": "2020-01-15",
"current_date": "2026-07-25"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/sobriety",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sobriety_date": "2020-01-15",
"current_date": "2026-07-25"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/sobriety", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sobriety_date":"2020-01-15","current_date":"2026-07-25"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sobriety_date":"2020-01-15","current_date":"2026-07-25"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/sobriety", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"sobriety_date": "2020-01-15",
"current_date": "2026-07-25"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.sobriety",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
sobriety_date は継続した禁酒の開始日、current_date は基準日です。このエンジンは壁時計を読みません。応答は経過した年・月・日、排他的な total_days、チップやカードに刷れる短い elapsed 句を返します。禁酒開始日が基準日より後なら invalid_input で失敗し課金されません。
経過した禁酒が市民暦の年・月・日で意味すること
この計算機は両端を時刻なしのグレゴリオ日付として扱うので、開始 2020-01-15 と基準日 2026-07-25 は六年六か月十日となり、それら二つの真夜中のあいだの市民日の排他的な数え total_days が付きます。sobriety_date が current_date と一致すればエンジンは年ゼロ、月ゼロ、日ゼロ、total_days ゼロを返し、一日目の正直な排他経過です。
入力契約、未来の開始の規則、応答の形
基準日が必須なのは、このエンジンが純粋な parse だからです。壁時計を読まず、Date オブジェクトを組み立てず、時間帯を参照しないので、未来の検査はあなたが渡す日付に対してしかできません。各欄は元年から九千九百九十九年までの実在するグレゴリオ日として検証され、閏日の規則も含みます。まだ起きていない開始に対する経過禁酒は未定義で、その失敗は課金されません。例は '6 years, 6 months, 10 days' や '1 year, 0 months, 1 day' です。任意の出力キーは null にせず省略します。チップの銘が必要なら数字に独自の文を添えてください。必須の暦フィールド二つを含む JSON オブジェクトを POST してください。sobriety_date は継続した禁酒の最初の日で、四桁の年、ハイフン、二桁の月、ハイフン、二桁の日の厳密な文字列です。日誌や用紙がいつもの名前を保てるよう、別名 start_date、sober_since、date_from を受け付けます。current_date は今日、または経過を報告したい日として使う基準日です。別名 as_of、as_of_date、today、date_to は同じ解析に対応します。四月三十一日、平年の二月二十九日、13-01、空文字、文字列以外はフィールド名付きの invalid_input で失敗します。sobriety_date が current_date より後なら、開始は基準日から見て未来にあり、タスクは invalid_input で失敗します。成功時本体は正規化した sobriety_date と current_date をエコーし、市民内訳の整数 years、months、days を返し、排他的な序数差として total_days を報告し、単数複数が正しい印刷用の句 elapsed を付けます。このエンドポイントは暦の算術だけを行い、会合の台本、医学的助言、物質使用障害の診断は出しません。
禁酒の経過時間 API が役立つ場面、料金、正直な限界
current_date を利用者の現地の暦日から固定すれば、日付変更線を越える旅人でも意図した日が見えます。前払い API 呼び出しは成功 1 件あたり $0.002 の KIT 残高を使い、検証失敗は残高を消費しません。これは暦のヒューリスティックであり、診断用の医療機器ではなく、回復プログラム、臨床家、救急の代わりでもありません。リクエストは小さく保ち、返された years、months、days、total_days をテストに固定すれば、宿題チェッカー、LMS プラグイン、エッジワーカー向けに再現可能な経過禁酒が得られ、自前の暦ライブラリを立てる必要はありません。
連携の活用例
ウェルネスアプリと回復日誌
API 経由でアプリや日誌に経過禁酒を埋め、利用者の現地日から current_date を渡し、閏年の一貫を保ちます。
技術的な質問
禁酒期間の計算機は年・月・日をどう数えますか。
sobriety_date と current_date をグレゴリオの YYYY-MM-DD として解析し、排他的な丸一日差を total_days とし、短い月では日を締める暦月加算で市民の年・月・残り日を報告します。
今日を自動で使わず current_date を送る理由は何ですか。
エンジンは壁時計も時間帯も読まないので、無料ウィジェットと API が同一のままです。意図する基準の暦日を渡してください。別名 as_of、as_of_date、today、date_to を受け付けます。
禁酒の計算はいくらかかりますか。
ブラウザの道具は無料です。API 要求は成功 1 回あたり $0.002 の前払い KIT 残高を使い、無効な日付と未来の開始は課金されません。