时间持续
计算两个日期和时间之间的时长
如何使用时间持续
- 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,但要精确到单个画面就要用到帧位。这也是为什么导出设置里帧率必须匹配,否则会出现音画不同步。
