時間を数える
午後10時から午前6時までは8時間です。2つの時刻を入れるだけで、日付をまたぐ場合も含めて間の時間が分かり、30分は8.5のような小数で表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 開始時刻
- 09:00 AM
- 終了時刻
- 05:00 PM
- 開始
- 09:00
- End
- 17:00
- 時間
- 8
- 合計分数
- 480
9:00 AM から 5:00 PM までは何時間でしょうか。10:00 PM から 6:00 AM までの夜勤は何時間続くでしょうか。時間を数える計算機は、その日常の問いに、経過した時間のひとつの数字で答えます。間隔が整数時間でないときは、30分も小数として含めます。1日のうちの2つの時刻(12時間制の AM/PM または24時間制)を入れると、そのあいだの時間が返ります。25:00 や「正午ごろ」のような不正な文字列は、推測せずに拒否されます。ネットワーク呼び出しもシステム時計も乱数もなく、あるのは正子からの秒数と、終了が開始より文字盤上で早いときの24時間の一度きりの加算だけです。
2つの時刻がひとつの時間数になる仕組み
時刻は円環状の市民日のうえの位置であり、暦の日付でも、何かに足す長さでもありません。朝の9時は正子から3万2400秒、午後の5時は正子から6万1200秒です。その正子からの秒数を引き、3600で割ると、人が本当に尋ねる時間数が得られます。
9:00 AM から 5:00 PM までが8時間です。終了が30分を含むときは、同じ計算が時計風の「時間と余りの分」ではなく 8.5 のような小数を返します。ここに来る検索は「何時間」であり、「何時間何分」ではないからです。
終了が開始より早いとき(夜10時から朝6時の夜勤、正子をまたぐ駐車、23時から7時の睡眠)は、素朴な引き算が負になります。時間を数える規則はそこで市民日の長さにあたる24時間を足し、間隔は正子を一度だけまたぎ、0時間以上24時間未満の閉区間に収まります。開始と終了が同じなら、文字盤上の同じ瞬間を指すので、丸一日ではなく0時間です。
時間を数える計算機が役立つ場面
壁時計の2つの読みを、勤務表・請求行・学習記録に打てるひとつの時間数にしたいときに、時間を数える計算機に手が伸びます。シフト監督は 9:00 AM の開始と 5:00 PM の終了を、12時間制の暗算を手でせずに8時間へ変えます。給与とフリーランスの請求は小数時間(8時間30分ではなく 8.5)を求めます。
ほとんどの課金系がその1つの数に時給を掛けるからです。駐車や車庫の窓口は入庫から出庫までの滞在を見積もり、車が正子のあとに出るときは夜通しのまたぎも含めます。保護者と指導者は16時に始まり17時30分に終わる練習を計ります。
看護、指令、ホテルの夜デスクは遅く始まり翌朝早く終わる間隔を求めます。経過時間を学ぶ生徒は、09:00 から 17:30 が8時間半であり、紙の上の繰り下げ誤りではないことを確かめます。不正な時と当てずっぽうの語を拒むので、25:00 や「正午ごろ」を受け付けてはならない受付フォームの時刻形式検査にもなります。
暦日のあいだの全日数も必要なら日付差やカウントダウンの道具と、2つの長さを足すなら加算計算機と組み合わせてください。2つの文字盤を引くのとは別です。検証失敗が前払い残高を消費することはありません。
活用例
勤務日と勤務表の時間合計
9:00 AM の開始と 5:00 PM の終了を8時間にし、時計風の時分の分割ではなく、ひとつの時間数が欲しい勤務表に載せます。
請求と給与のための小数時間
09:00 から 17:30 を 8.5 時間に変え、時給が余りの分ではなく1つの数に掛かるようにします。
夜勤と駐車の滞在
10:00 PM から 6:00 AM を overnight が真の8時間として数え、終了が開始より早いときは正子をまたぎます。
よくある質問
9:00 AM から 5:00 PM は8時間ですか?
はい。 朝の9時から午後の5時までは8時間です。17:30 のような30分つきの終了は 8.5 を返すので、課金系は料金を1つの数字に掛けられます。
終了時刻が開始時刻より早いとどうなりますか?
間隔は正子を一度またぐものとして扱います。10:00 PM から 6:00 AM は 8 時間で overnight は真です。同じ時刻は丸一日ではなくゼロです。
受け付ける時刻形式と、不正とみなすものは何ですか?
24時間制の H:MM・HH:MM・HH:MM:SS と、9:00 AM や 9am のような AM/PM つき12時間制です。
8時間30分ではなく8.5時間と表示されるのはなぜですか?
このツールは「何時間か」に答えるため、30分を小数で表します。分に直すときは小数部分に60を掛けます。0.5時間は30分です。
開始時刻と終了時刻が同じだとどうなりますか?
結果は0時間で、まる1日にはなりません。同じ時刻は時計の上で同じ瞬間を指すため、24時間と見なすことはしません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/count-hours \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"start_time":"09:00 AM","end_time":"05:00 PM"}'const res = await fetch("https://api.kit.forhosting.com/life/count-hours", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"start_time": "09:00 AM",
"end_time": "05:00 PM"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/count-hours",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"start_time": "09:00 AM",
"end_time": "05:00 PM"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/count-hours", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"start_time":"09:00 AM","end_time":"05:00 PM"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"start_time":"09:00 AM","end_time":"05:00 PM"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/count-hours", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"start_time": "09:00 AM",
"end_time": "05:00 PM"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.count_hours",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
2つの時刻がひとつの時間数になる仕組み
アルゴリズムはシステム時計を見ず、ネットワークサービスを呼ばず、乱数も使わないため、同じ2本の時刻文字列は常に同じ hours・total_minutes・overnight フラグ・pretty 文字列を返します。
入力契約、12時間制の AM/PM、不正な時刻
24時間制は H:MM、HH:MM、または秒つきの同じ形(H:MM:SS / HH:MM:SS)で、時は0から23の整数、分と秒は0から59です。12時間制は子午線を受け付けます。9:00 AM、9am、5:30 PM、5:30 p.m.、および子午線があるときの 9am のような時だけの文字列です。12 AM は正子、12 PM は正午です。AM または PM つきで1から12の外にある時は不正です。時の先頭ゼロは任意です。不正な入力は課金されません。リクエスト本体には必須の2文字列 start_time と end_time があります。それぞれが有効な時刻でなければなりません。暦日を含む ISO 日時、子午線のない裸の数字 9、範囲外の 25:00 や 12:60 は invalid_input で失敗し、問題のフィールドを示します。欠落したフィールド、前後空白を除いた空文字、文字列でない値も失敗します。この契約は時刻の形式であり、長さの加算器でも自由文の解析器でもないからです。start_time には alias の start・from・begin を、end_time には end・to・until・stop を受け付けるので、フォームやスクリプトは既にある名前を使えます。成功時の応答は、両方の時刻を24時間制の HH:MM(秒が渡されたときは HH:MM:SS)に正規化し、経過時間を数、total_minutes を正確な分数、overnight を終了が開始より早かったときだけ真のブール、pretty を 8 hours や 8.5 hours のような文字列、答えの横に印刷できる短い式として返します。成功した API 呼び出しは公開の基本料金 $0.002 を使います。
時間を数える計算機が役立つ場面
実装は純粋な tier A の parse で、モデルトークンも外向き HTTP も Date オブジェクトもありません。遅延はわずかな算術に収まり、成功した API 要求あたりの費用モデルは $0.002 で正直です。
技術的な質問
1日のうち2つの時刻のあいだの時間をどう数えますか。
start_time と end_time を 12時間制 AM/PM または 24時間制の文字列で送ってください。API はそれぞれを正子からの秒に直し、引き、終了が早いときは24時間を足し、hours をひとつの数で返します。
時間を数える計算機の料金はいくらですか。
ブラウザの道具は無料です。API 要求は成功した呼び出しごとに前払い残高から $0.002 です。不正な入力は課金されません。