時と分の換算
勤務表の2.5時間は、時計で言えば2時間30分です。給与データや表計算に出てくる小数の時間を入力すると、整数の時間と、1分単位に丸めた残りの分が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 時間
- 2.5
- 小数の時間
- 2.5
- 時間
- 2
- 分
- 30
- 合計分数
- 150
給与明細、勤怠表、学校の宿題では、時間を小数の時間数 — 二点五、七点七五、四分の一 — として保存することが多く、一方で人は時計を整数の時間と残りの分で読みます。この時分換算器は、有限で負でない小数の時間数を一つ受け取り、整数の時間と残りの分に分けます。二点五時間は二時間三十分、一点七五時間は一時間四十五分になります。ゼロは有効で、ゼロ時間ゼロ分になります。負の値、Infinity、非数値トークンは無効な入力として拒否され、課金されません。ネットワーク呼び出しも、システム時計も、乱数もありません。六十を掛け、最も近い分に丸め、整数の余りを取るだけです。
小数時間が整数の時間と残りの分になる仕組み
小数時間は、残り時間を表す小数部を含む、時間単位の長さを測る一つの実数です。二点五時間は二時間ちょうどと半時間、七点七五時間は七時間ちょうどと四分の三時間です。しかし人は時計を整数の時間と残りの分として読みます。
二時間三十分であり、二点五ではありません。この換算器はその分割だけを行います。小数の時間数に六十を掛けて総分を求め、浮動小数点の残りが五十九点九九九にならないよう最も近い整数分に丸め、その分数を六十で割った商を整数の時間、余りを残りの分とします。
二点五は百五十分、すなわち二時間三十分です。一点七五は百五分、すなわち一時間四十五分です。ゼロはゼロ時間ゼロ分です。
八時間ちょうどは八時間ゼロ分であり、空の余りにはなりません。アルゴリズムはシステム時計を見ず、ネットワークサービスを呼ばず、乱数も使いません。
時と分への分割が役立つ場面
システムが時間を一つの実数として保存し、人がそれを時計で読む必要があるとき、小数時間を時と分に換算する道具が使われます。給与担当は、小数時間を拒む明細書を印刷する前に、7.5 や 8.25 の請求時間を七時間三十分や八時間十五分に直します。プロジェクト管理者は、1.75 時間の勤怠書き出しを一時間四十五分にして状況スライドに載せます。
教員や指導者は、二点三時間が二時間三分だと勘で決めないよう、六十を掛けて余りを取る練習としてこの換算を出します。駐車場、診療所、スタジオのソフトは滞在を小数時間として保存することが多く、2h 30m のような表示文字列が必要です。負の長さと非有限トークンを拒むため、マイナス二時間を受け付けてはならない受付フォームの検証にもなります。
秒・日・週も必要なら一般的な時間単位の変換器と、小数ではなく二つの文字盤読みなら時計の経過時間ツールと、時計の三つ組から逆向きに進むなら時分秒から秒への変換器と組み合わせてください。実装は純粋な tier A の parse です。検証の失敗は前払い残高を消費しません。
活用例
給与と勤怠の表示
7.5 や 8.25 の請求時間を、小数ではなく時計の時刻を印刷する明細書向けに、七時間三十分や八時間十五分へ直します。
授業での余りの練習
2.5 時間が二時間三十分であること、負の時間数が符号付き余りとして印刷されず拒否されることを、学習者に確認させます。
滞在と状況スライドのラベル
保存した小数の滞在や記録した工数を、駐車場・診療所・スタジオ・プロジェクト状況の文向けに 2h 30m の文字列へ換えます。
よくある質問
なぜ 2.5 時間は 2 時間 50 分ではなく 2 時間 30 分なのですか?
小数部は時間の分数であり、数字の羅列ではありません。六十分の半分は三十分なので、2.5 時間は 2 時間 30 分です。2.50 は同じ長さです。
残りの分は丸められますか?
はい。 総分は最も近い整数分に丸められるため、浮動小数点の残りが 19.999 分にはなりません。丸めた余りが 60 なら次の時間へ繰り上がります。
7.5時間は何時間何分ですか?
7時間30分です。小数の部分は1時間の半分にあたるので、60分の半分の30分になります。給与明細や勤務表に出てくる小数も、同じ考え方で読めます。
小数の時間を手計算で時間と分にするには?
小数に60を掛けて合計の分を出し、それを60で割ります。商が時間、余りが分です。2.5時間なら150分で、60で割ると商が2、余りが30なので2時間30分です。
0や負の値を入れるとどうなりますか?
0は有効で、0時間0分になります。負の値は時間の長さとして意味をなさないため受け付けません。数字でない値や無限大も同じように受け付けません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/life/hours-minutes \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"hours":2.5}'const res = await fetch("https://api.kit.forhosting.com/life/hours-minutes", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"hours": 2.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/hours-minutes",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"hours": 2.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/hours-minutes", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"hours":2.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"hours":2.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/hours-minutes", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"hours": 2.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.hours_minutes",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_abs_value | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
成功した API リクエストは $0.002 です。
小数時間が整数の時間と残りの分になる仕組み
表計算、給与の書き出し、勤怠 API では一つの数が足しやすく保存しやすいため、そうした値が書かれます。同じ小数は常に同じ hours、minutes、total_minutes、pretty 文字列を返します。
入力契約、最も近い分への丸め、エラー
値は分割する小数の時間長であり、有限で負でない数でなければなりません。小数の時間は許可され、想定されています。負の hours は、このページの長さが符号付き元帳ではないため、小数時間は負になれないという明確なメッセージで失敗します。分は常にゼロから五十九の閉区間にあります。丸め後に六十になる余りは次の時間へ繰り上がります。無効な入力は課金されません。リクエスト本体には必須の数 hours が一つあります。別名 h、decimal_hours、value を受け付けるので、フォーム、クエリ文字列、表計算の列が入力名を変えずに同じ契約を使えます。値は JSON 数でも、先頭のプラスや科学記数法を含む十進の数値文字列でも構いません。埋め込まれた空白、十六進プレフィックス、非数値トークンは、フィールド名を示すメッセージで失敗します。hours の欠落、trim 後の空文字、Infinity、NaN は invalid_input で失敗し、課金されません。成功時、本体は decimal_hours を返し、整数の時間と残りの分、最も近い整数分である total_minutes、2h 30m のような pretty 文字列、答えの横に印刷できる短い式を返します。成功した API 呼び出しは公開の基本料金 $0.002 を使います。
時と分への分割が役立つ場面
モデルのトークンも、外向きの HTTP も、Date オブジェクトもありません。遅延はわずかな算術に抑えられ、成功した API 要求あたりの費用は $0.002 で正直です。
技術的な質問
小数時間を時と分に換算するには?
hours を有限で負でない数として送ってください。API は 60 を掛け、最も近い整数分に丸め、整数の時間と残りの分(0–59)を返します。
負の時間数を入れるとどうなりますか?
リクエストは invalid_input で拒否され、課金されません。この換算器は有限で負でない時間数にだけ定義されています。
時と分の換算器の料金は?
ブラウザの道具は無料です。API リクエストは成功した呼び出しごとに前払い残高から $0.002 です。無効な入力は課金されません。