所要時間の人間向け表記
秒数を入力すると、ひと目で分かる表記が得られます。183840秒は「2 days 3 hours 4 minutes」、つまり2日3時間4分です。0の単位は省き、表記は英語で出力します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 所要時間の長さ(秒)
- 183,840
- 入力秒
- 183,840
- 日
- 2
- 時間
- 3
- 分
- 4
所要時間を人間向けに整形するツールは、ログ・ダッシュボード・製品文案でよく出る実務的な問いに答えます。秒の生の数値として与えられた長さを、人は何と読むべきでしょうか。非負の秒数を入力すると、日・時間・分・秒の整数から成る短い英語句を返します。例えば十八万三千八百四十秒は、二日三時間四分になります。ゼロは許可され、ゼロ秒として表示されます。障害窓口の説明、単体テストの期待文字列、経過時間の教材採点、空状態の文言調整など、いずれも重い i18n ライブラリなしで同じ決定的な文言が必要です。経路は純整数演算のみで、ネットワークも乱数種も壁時計の Date 依存もありません。
所要時間の人間向け化の意味と表示される単位
所要時間は長さであり、カレンダー上の時刻印ではありません。システムが経過時間を保存するとき、加算・減算・直列化が容易なため、ほぼ常に非負の秒カウントを使います。一方、人は大きな秒数を一目で読み取るのが苦手です。
九十秒は一分半だと分かりますが、十八万三千八百四十秒が二日と数時間であることはすぐには分かりません。人間向け化とは、その合計を八万六千四百秒の日、三千六百秒の時間、六十秒の分、残りの秒という馴染みの階段に分解することです。ゼロになる中間単位は省略し、句を短く保ちます(一日五分であり、一日零時間五分ではありません)。
全ゼロ入力は空文字にせずゼロ秒を出します。単数・複数の英語ラベルは通常の文法に従います。負の長さは製品意図の外です。
実務上の注意、制限、関連検索
クライアントを制御できる場合は、事前整形した文字列より数値送信を優先してください。数値文字列は厳密な有限数値パターンに一致する場合のみ受理されます。公開上限内に保ち、大きな乗算が非有限にならないようにします。
教材やテストでは、二日三時間四分のような複数単位の成功例、一分三十秒のような短い混合、ゼロ秒、きれいに floor される小数、意図的な負の失敗例を小さな既知集合として用意します。本ページは所要時間の人間向け整形、秒から日時間分、読みやすい経過時間を探す方向けです。カレンダー日付整形でもタイムゾーン変換でも稼働監視でもありません。
すでに秒カウントがあり安定した句だけが必要なときに選び、カレンダー日付から月名や曜日が必要なら日付整形や曜日ツールを使ってください。半秒が一秒に切り上げられない floor 規則をクライアントコメントに書いておいてください。
活用例
障害と SLA の経過時間コピー
ステータスページやポストモーテムが、生の秒カウンタを二時間十五分のような非技術者にも読める句へ変換します。
タイマー向け単体テストの期待文字列
エンジニアリングチームがカウントダウン・ジョブ実行時間・メディア長の人間向けラベルを固定し、UI スナップショットをブラウザ間で決定的に保ちます。
教室での経過時間演習
学習者が秒合計を提出し、印刷された日・時・分・秒の分解を決定的な結果と照合してからワークシートを提出します。
よくある質問
読みやすい文字列にはどの単位が出ますか?
整数の日・時間・分・秒です。中間のゼロ単位は省略され、全ゼロは「0 seconds」と表示されます。
カレンダー日付やタイムスタンプを整形しますか?
いいえ。 純粋な所要時間の長さだけを人間向けにします。カレンダー日付がある場合は日付整形や曜日ツールを使ってください。
負の秒数を入力するとどうなりますか?
受け付けず、分かりやすいメッセージでお知らせします。逆向きに進んだ経過時間はデータの誤りと考え、絶対値に直して表示することはしません。
小数の秒も入力できますか?
はい。小数は日・時間・分に分ける前に切り捨てて、整数の秒にします。そのため、わずかな端数で表記が変わることはありません。
結果が正しいかどうやって確かめますか?
日数に86400、時間に3600、分に60を掛けて秒を足します。合計が入力した整数の秒と一致すれば正しく、2日3時間4分なら183840になります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/date/humanize-duration \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"seconds":183840}'const res = await fetch("https://api.kit.forhosting.com/date/humanize-duration", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"seconds": 183840
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/humanize-duration",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"seconds": 183840
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/humanize-duration", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"seconds":183840}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"seconds":183840}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/humanize-duration", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"seconds": 183840
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.humanize_duration",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_seconds | 1000000000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
負の値は誤解を招く絶対値ではなく、明確な invalid_input エラーで拒否されます。そのため無料のブラウザ実行とプリペイド API は、小数入力を floor したうえで毎回同じ JSON を返します。
所要時間の人間向け化の意味と表示される単位
逆行した経過タイマーは整形対象ではなくデータエラーであり、seconds フィールドを名指しして invalid_input で失敗します。
API の呼び出し方と返却内容
絶対値は公開上限の一兆秒以内に収め、Worker とブラウザで中間積が有限に保たれるようにします。小数入力は単位分割の前に floor され、浮動小数のノイズが境界を反転させません。テストでは手でラベルを再構成せず、human(または text)と数値分解の比較を優先してください。単数・複数形は公開契約の一部です。必須の有限数値 seconds を含む JSON 本体を送ってください。duration、value、secs、s の別名でも渡せます。成功時は floor 済み合計の seconds、生値が異なる場合の input_seconds、合計に再結合する非負整数の days・hours・minutes・secs、同じ読みやすい句の human と text、短い要約文の message、floor と分解を述べる順序付き配列 steps を返します。欠落・非有限・上限超過・負の所要時間は invalid_input となり課金されません。料金は成功リクエストごとに固定の $0.002(単位 item、限界単価ゼロ)です。
実務上の注意、制限、関連検索
往復確認は、days×86400 + hours×3600 + minutes×60 + 秒が公開の整数秒フィールドと一致するかで行えます。invalid_input の失敗タスクはプリペイド残高を消費せず、学習者が負値を送る探索スクリプトも安価に保てます。
技術的な質問
所要時間の人間向け整形はどのような入力を受け付けますか?
非負の有限秒数(フィールド seconds、または別名 duration・value・secs・s)です。小数は整数秒へ floor されます。
負の所要時間ではどうなりますか?
ツールは invalid_input を返します。負の長さは絶対値化や整形の対象ではなく拒否されます。
所要時間の人間向け整形は無料ですか?
ブラウザツールは無料でローカル実行です。API 呼び出しは成功リクエストごとに $0.002 のプリペイド KIT 残高を使い、失敗タスクは課金されません。