持續時間
計算兩個日期和時間之間的持續時間
如何使用持續時間
- 1輸入開始時間和結束時間,若跨越午夜請帶上日期。
- 2選擇輸出格式,如「小時+分鐘」或「總分鐘數」。
- 3檢視兩個時刻之間經過的時長。
測量經過時間
時長 = 結束時間 - 開始時間(跨日時進位)時長是兩次讀表之間的間隔;跨越午夜時只需在結束時間上加一天再相減。
用單一單位(如分鐘)計算可避免時分 60 進位制帶來的進位錯誤。
時長計算的關鍵在於區分**時刻(point in time)**與**時長(duration)**:14:00 是時刻,「3 小時」是時長。兩個時刻相減得到時長,時刻加時長得到另一個時刻。程式裡這兩類通常是不同的資料型別(JavaScript 的 Date vs 毫秒數、Python 的 datetime vs timedelta),混用是常見的 bug 來源。
換算時建議**統一到最小單位再做運算**:把「2 小時 30 分 45 秒」換算成 9045 秒,做完加減再還原。還原時用整除和取餘:9045 ÷ 3600 = 2 小時,餘 1845;1845 ÷ 60 = 30 分,餘 45 秒。這個「除盡取餘」的套路可以推廣到任何進位制換算(如位元組轉 KB/MB/GB)。
| 時長 | 分鐘 | 秒 | 典型活動 |
|---|---|---|---|
| 15 分鐘 | 15 | 900 | 番茄鍾休息 |
| 25 分鐘 | 25 | 1500 | 一個番茄鍾 |
| 45 分鐘 | 45 | 2700 | 一節課 |
| 1 小時 | 60 | 3600 | 健身訓練 |
| 90 分鐘 | 90 | 5400 | 一場足球賽 |
| 8 小時 | 480 | 28800 | 標準工作日 |
| 24 小時 | 1440 | 86400 | 一整天 |
常見時長對照
常見問題
結束時間過了午夜怎麼辦?
相減前給結束時間加 24 小時(或一天),使結果為正。
為什麼用總分鐘數?
分鐘是單一單位,相加和比較時長時不必處理 hh:mm 的進位規則。
能處理時區嗎?
這個簡易工具假定兩個時間處於同一時區;若不同請先轉換。
時長可以是負數嗎?
在數學上可以(表示方向或欠賬)。例如計算「預計時長 − 實際時長」,負數表示提前完成。但在排期、考勤這類業務場景中,負數時長通常意味著輸入有誤(結束時間早於開始時間),需要做校驗提示。跨天的情況(22:00 到次日 06:00)應加上 24 小時後再相減,而不是返回負數。
為什麼影片剪輯裡的時間碼是 00:00:00:00?
最後兩位是**幀**而非秒的小數。格式為「時:分:秒:幀」,幀的取值範圍取決於幀率:24 fps 時是 0–23,25 fps 時是 0–24,30 fps 時是 0–29。所以用 30 fps 剪輯時,1 秒 = 00:00:01:00,但要精確到單個畫面就要用到幀位。這也是為什麼匯出設定裡幀率必須匹配,否則會出現音畫不同步。
