目標日時までの日数・時間・分数を計算
目標の日時まであとどれだけかを計算します。2026年7月25日10:15(UTC)から2026年7月28日12:45(UTC)までは3日2時間30分、合計4470分です。起点の日時はご自身で入力するため、時計のずれに左右されません。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 現在値
- 2026-07-25T10:15:00Z
- 対象
- 2026-07-28T12:45:00Z
- 日数
- 3
- 時間
- 2
- 分
- 30
- 合計分数
- 4,470
コンピューターの時計に依存せず、目標日時までのカウントダウンを計算できます。現在日時と将来の目標をISO-8601形式で指定すると、完全な日数、残りの時間、残りの分数に分けた安定した結果を返します。時差は減算前に正規化されます。目標がすでに過ぎている場合は、経過時間モードを明示的に有効にしない限りエラーとなるため、期限超過を残り時間と誤認することがありません。
現在日時と目標日時を明示していただきます
どちらもYYYY-MM-DD形式の日付、またはISO-8601形式の日時を受け付けます。時刻のない日付はUTCの午前0時として扱われ、日単位の節目に便利です。正確な期限には時と分を含め、末尾のZまたは+02:00のような数値オフセットも付けることをおすすめします。
計算機は減算前に両方の入力を共通の絶対時間軸へ変換します。そのため、表示上の現地時刻が異なっていても、同じ瞬間を表す2つの文字列なら結果はゼロです。サービス側の時計を読む代わりにcurrentをご指定いただく設計には理由があります。
エンジンはグレゴリオ暦の月の日数とうるう年を検証し、存在しない日付を翌月へ自動修正しません。秒の小数部は入力できますが、出力は完全な分だけです。1分に満たない最後の秒数は、意図しない切り上げを防ぐため切り捨てられます。
決定的な結果をアプリケーションや自動処理でご利用いただけます
製品公開、申込期限、イベント準備、保守時間帯、支払通知など、現在とみなす瞬間が既知の処理に適しています。キューが処理を再試行するときや、過去のレポートを後から再生成するときに役立ちます。数値オフセットはそのまま適用されますが、夏時間の解釈は呼び出し側の責任です。
都市名ではなく、各現地時刻に適したオフセットを送信してください。計算対象は24時間固定の日で表す通常の経過時間です。営業日の計数、週末や祝日の除外、通知の予約、応答後の連続更新は行いません。
ライブ表示を更新するには、新しいcurrentで再計算してください。不正な日付や許可されていない過去の目標をゼロ表示にせず、修正依頼として示せるよう、検証エラーは別途処理してください。
活用例
製品公開のカウントダウン
既知の現在日時と製品公開期限から、公開ページ向けに正規化したカウントダウン数値を作成します。
期限の監視
申込や支払の締切までの時間を確認し、想定外に過ぎた目標はエラーとして扱います。
経過した節目の報告
経過時間モードを有効にし、既知の出来事から過ぎた完全な日数・時間・分数を報告します。
よくある質問
現在のシステム時刻を使用しますか?
いいえ。 currentを明示していただくため、すべての計算が決定的で再現可能です。
目標が過去の場合はどうなりますか?
有効にすると目標からの経過時間を返し、directionをelapsedにします。
タイムゾーンのオフセットに対応していますか?
はい。 Zまたは+02:00のような数値オフセットをご利用ください。減算前に両入力を同じ絶対時間軸へ正規化します。
秒はどのように扱われますか?
秒も指定できますが、結果は完全な分数です。最後の1分未満は切り上げずに切り捨てます。
土日や祝日は除いて数えますか?
いいえ。1日を24時間として経過時間をそのまま数えるため、土日や祝日もほかの日と同じように含まれます。営業日で数えたい場合は別の計算が必要です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/countdown-to-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"current":"2026-07-25T10:15:00Z","target":"2026-07-28T12:45:00Z"}'const res = await fetch("https://api.kit.forhosting.com/math/countdown-to-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"current": "2026-07-25T10:15:00Z",
"target": "2026-07-28T12:45:00Z"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/countdown-to-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"current": "2026-07-25T10:15:00Z",
"target": "2026-07-28T12:45:00Z"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/countdown-to-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"current":"2026-07-25T10:15:00Z","target":"2026-07-28T12:45:00Z"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"current":"2026-07-25T10:15:00Z","target":"2026-07-28T12:45:00Z"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/countdown-to-date", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"current": "2026-07-25T10:15:00Z",
"target": "2026-07-28T12:45:00Z"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.countdown_to_date",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力が明示されるため、テスト、定期処理、Webツール、サーバー処理で同じリクエストを再現できます。
現在日時と目標日時を明示していただきます
必須の文字列currentとtargetを指定してください。保存した例、自動テスト、請求処理、繰り返しのAPI呼び出しを決定的にできるためです。不正な時刻、無効なオフセット、未指定の項目、文字列以外の値もinvalid_inputとして拒否します。
結果を読み取り、期限超過を安全に扱っていただけます
表示用の3項目は正規化された期間です。hoursは常に0から23、minutesは0から59の範囲になります。期限を過ぎた日付は、より厳格に扱います。期限からの経過時間が本当に必要な場合は、elapsedをtrueとして送信してください。将来の目標を正常に計算すると、days、hours、minutes、total_minutes、direction、is_pastを返します。total_minutesは完全な分数の絶対値であり、レコードの並べ替え、しきい値との比較、画面表示の切り替えに便利です。将来または現在と同一の目標では、directionはremaining、is_pastはfalseです。targetがcurrentより前の場合、通常のリクエストは失敗し、elapsedを有効にするよう案内します。この既定動作により、負の期間が見かけ上の正のカウントダウンへ無断で変換されません。期間の各値は非負のまま、directionはelapsed、is_pastはtrueになります。これにより、数値から状態を推測せず、進行中の期限には「残り」、終了した期限には「経過」または「超過」と明確に表示できます。targetとcurrentが完全に同じ場合も有効で、すべての期間項目がゼロになります。
決定的な結果をアプリケーションや自動処理でご利用いただけます
クライアントはdays、hours、minutesをカウントダウン表示へ直接割り当て、total_minutesを通知条件や並べ替えに利用できます。実装はDate、システム時計、タイムゾーンデータベース、ネットワーク、乱数を一切参照しないため、同じJSONからは必ず同じ結果が得られます。ブラウザー版は同じ純粋な処理を端末内で実行でき、API自動処理は1項目あたり$0.002です。
技術的な質問
APIでの計算料金はいくらですか?
正常なAPI項目ごとに$0.002です。Web計算機では同じ決定的なロジックを端末内で実行できます。