解説
1時間30分は1.30時間?AIへ時間を集計させる前に小数と分をそろえよう
作業時間の1時間30分を、AIへ1.30時間と渡していないかな。小数の時間と、時・分を並べた表記は、同じ意味ではないよ。

作業時間の1時間30分を、AIへ1.30時間と渡していないかな。小数の時間と、時・分を並べた表記は、同じ意味ではないよ。
このページでは架空の作業時間だけを使い、分へ直して比べる。実際の勤怠や請求データは変更しない。電卓、またはPython 3で検算できることが目標だよ。
小数の部分も、一時間を基準にする
一時間は60分。1.5時間は、一時間と、その半分の30分なので90分になる。一方、1.30時間の小数部分0.30は、一時間の30%で18分になる。
| 表記 | この練習での意味 | 分へ直すと |
|---|---|---|
| 1時間30分 | 一時間と30分 | 90分 |
| 1.5時間 | 一時間と0.5時間 | 90分 |
| 1.30時間 | 一時間と0.30時間 | 78分 |
小数点の後ろへ、そのまま分を書けるわけではないんだ。1:30のような表記も、時刻か所要時間か、どの形式かを先に確認しよう。
AIへ渡す前に、同じ単位へ直す
架空の二つの作業が1時間30分と45分なら、まず90分と45分にすると、合計は135分。二時間15分、または2.25時間として表せる。
もし最初の作業を1.30時間と誤って渡せば、78分と45分で123分になり、12分ずれる。合計する前の表記の取り違えは、足し算自体が正しくても残ってしまうよ。
Pythonで、差を確かめる
from datetime import timedelta
print(timedelta(hours=1, minutes=30).total_seconds() / 60)
print(timedelta(hours=1.30).total_seconds() / 60)
print(timedelta(minutes=135).total_seconds() / 3600)
結果は90.0、78.0、2.25。編集部ではこの結果と、60を基準にした手計算を照合した。実際のAIモデルを呼び出して精度を測定した例ではないよ。
依頼文へ、形式と丸め方を書く
「入力は所要時間です。時と分を整数で示すので、いったん分へ直して合計してください。結果は合計分数と、時・分の表記の両方で出してください」と条件を決められる。
小数時間が必要なら、何桁へ丸めるか、各行で丸めるか合計後かも決める。表示のための丸めと、勤怠・料金などの業務上の処理規則を混ぜないようにしよう。
時刻の計算と混同しない
所要時間90分と、午前1時30分は別。日をまたぐ予定や、タイムゾーンを含む開始・終了の差では、さらに条件が必要になる。
表を引き継ぐときは、列名へ単位を添えると確認しやすい。「時間」という名前だけで、小数なのか、時・分なのかを読み手へ推測させないようにしたいね。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。