這個工具能做什麼
這是一款「加法機」式的時間計算機,會以 hh:mm:ss(時:分:秒)格式持續維持一個累計總和。你只要輸入一個時間數值,選擇加或減,再按下「計算」即可。每筆輸入都會套用到累計總和上,讓你像使用桌上型計算機一樣不斷把時間累加上去。它純粹是經過時間(時間長度)的四則運算,所以在世界各地的運算結果都相同,完全不需要日曆或時區規則。
使用方法
先選擇運算符號(+ 代表加、− 代表減),在 hh:mm:ss 欄位輸入時間,然後點選「計算」。累計總和會即時更新,並以 總計:hh:mm:ss 顯示;最近一筆運算的結果則以 Answer 呈現。按「清除」可將總和歸零為 00:00:00。分隔符號可以使用冒號、句點、連字號或空格,因此 5:22:10、5.22.10、5-22-10 和 5 22 10 都表示 5 小時 22 分 10 秒。空白的位置會視為 0:5.. 代表 5 小時,..5 代表 5 秒。在最前面加上負號(例如 -1:30:00)會讓該筆數值本身變成負數。
計算公式
每筆輸入都會先換算成秒數:$$\text{operandSeconds} = \text{sign} \times (\text{hours}\times 3600 + \text{minutes}\times 60 + \text{seconds})$$。累計總和會以 \(\text{total} \mathrel{+}= \text{operandSeconds}\)(加)或 \(\text{total} \mathrel{-}= \text{operandSeconds}\)(減)的方式更新。顯示時,先取 \(a = |\text{total}|\),再計算 $$hh = \lfloor a/3600\rfloor,\; mm = \lfloor (a \bmod 3600)/60\rfloor,\; ss = a \bmod 60$$,若總和為負就在前面加上負號。顯示時小時數沒有上限。
範例演算
從 00:00:00 開始。加上 5.22.10 → 19330 秒 → 05:22:10。減去 .30.(30 分鐘 = 1800 秒)→ 17530 秒 → 04:52:10。再加上 -1...(負的 1 小時)→ \(17530 - 3600 = 13930\) 秒 → 03:52:10。
常見問題
累計總和可以變成負數嗎?可以。負的總和會在前面加上負號顯示,例如 -01:30:00。
如果運算符號是 −,而輸入值前面又有負號,會怎樣?兩個負號會相乘,所以「減去一個負值」其實等於把它加上去。
為什麼單筆輸入的分與秒必須小於 60?因為每筆輸入都是真實的時鐘格式數值;進位只在累計總和為了顯示而正規化時才發生,這也是為什麼小時數可以超過 99。