このツールでできること
このツールは、1つの10進数を見やすいhh:mm:ss形式の時間(経過時間)に変換します。入力した数値が何を表すか――日数・時間・分・秒のいずれか――を選ぶと、計算ツールがいったん合計秒数に換算し、そこから時・分・秒へと分解します。これは時刻ではなく「経過時間(所要時間)」を扱うため、時の部分は24で折り返されません。たとえば1.75日は18時間ではなく、正しく42時間と表示されます。
使い方
10進数の値(例:42.756)を入力し、それに合った単位をプルダウンから選びます。必要に応じて「1/100秒まで表示」にチェックを入れると、秒を小数第2位まで表示できます。結果には、整形された時間表示に加えて、文章での内訳と、日数に換算した形も表示されます。
計算式の仕組み
確実なやり方は、まずすべてを合計秒数に換算することです。合計秒数 = 値 × 換算係数とし、$$t_{\text{sec}} = v \times k$$換算係数は日数なら86400、時間なら3600、分なら60、秒なら1です。次に時 = floor(合計秒数 / 3600)を求め、その余りを分 = floor(余り / 60)に分け、さらにその余りが秒になります。$$H=\left\lfloor\tfrac{t}{3600}\right\rfloor,\ M=\left\lfloor\tfrac{t-3600H}{60}\right\rfloor,\ S=t-3600H-60M$$四捨五入は最後の段階でだけ行うため、小数の誤差が積み重なるのを防げます。四捨五入で秒が60になった場合は分へ繰り上がり、分が60になれば時へ繰り上がります。
計算例
42.756時間を例にとります。合計秒数 \(= 42.756 \times 3600 = 153921.6\) 秒。時 \(= \lfloor 153921.6 / 3600 \rfloor = 42\)。余り \(= 2721.6\) 秒なので、分 \(= \lfloor 2721.6 / 60 \rfloor = 45\)。残りの秒は21.6で、四捨五入すると22になります。結果は42:45:22、文章にすると「1日 18時間 45分 22秒」となります。1/100秒表示を有効にすると秒は21.60と表示され、42:45:21.60になります。
よくある質問
なぜ時の値が24を超えることがあるのですか?これは時刻ではなく経過時間(所要時間)だからです。そのため時は24を超えて積み上がります(例:3.2日なら76時間)。
なぜ整数秒の結果と1/100秒の結果が違うことがあるのですか?整数秒モードでは最も近い秒に四捨五入するため、21.6は22になります。一方、1/100秒モードでは21.60のまま表示されます。
どんな値を入力できますか?0より大きい任意の数値です。0、空欄、負の数は受け付けません。