时间间隔计算器 - 计算日期之间的时间
计算两个日期和时间之间的精确时间间隔,结果同时以秒、分钟、小时和天为单位显示,并附有一段通俗易懂的文字总结,方便快速理解具体相差多久。计算过程自动考虑闰年和夏令时的切换,适用于计算精确年龄、统计项目工期、核算加班时长,或倒数活动、考试和纪念日开始的剩余天数等场景。
时间间隔计算器
文档
什么是时间间隔计算器
时间间隔计算器会计算两个日期和时间之间的精确时长。它接收开始日期和时间以及结束日期和时间,并以秒、分钟、小时和天为单位报告差值,同时给出通俗易懂的摘要,例如“3天、4小时、12分钟”。
如何计算时间间隔
公式
计算器用结束时间减去开始时间:
时间间隔 = 结束时间 − 开始时间
计算机无法直接用“三月 15 日”减去“五月 20 日”,因为日历日期不是单个数字。所以计算器先把每个日期和时间转换成时间戳,即自某个固定参考点起经过的毫秒数,该参考点为UTC 1970年1月1日 00:00:00。两个日期都变成时间戳后,相减就是普通算术,跨月、跨年和闰年都能保持正确。
得出毫秒差后,计算器会将其转换为其他单位:
- 秒 = 毫秒 ÷ 1,000
- 分钟 = 秒 ÷ 60
- 小时 = 分钟 ÷ 60
- 天 = 小时 ÷ 24
算例
开始:2023年5月20日 10:00 结束:2023年5月21日 11:00
两者之间相差25小时。换算为计算器显示的各个单位:
- 90,000秒
- 1,500分钟
- 25小时
- 25 ÷ 24 ≈ 1.04天
通俗摘要为“1 天 1 小时”。该摘要的生成方式与上面的小数结果不同:计算器先取整数天数(1),再取其后剩余的小时数(1),然后是剩余的分钟和秒(0 和 0)。它不会对小数天数四舍五入,而是逐级向下取整数单位。
闰年和夏令时
日历年并不总是365天,日历日也不总是24小时。由于计算器依据时间戳进行计算,而不是按日历日期逐格计数,因此这两种情况都无需特殊规则即可处理。
闰年。 每四年,二月多出一天,即 2月29日,使历法与地球绕太阳的公转保持一致。世纪年是例外:只有能被 400 整除的世纪年才是闰年,所以 2000 年是闰年,1900 年不是。从 2024年2月28日 00:00 数到 2024年3月1日 00:00,共 2 天,因为 2024 年是闰年,计数会经过 2月29日。
夏令时。 在实行夏令时的地区,时钟在春季跳过一小时,在秋季重复一小时。在美国,夏令时从三月的第二个星期日开始,此时时钟从上午 2 点跳到上午 3 点。2024年3月10日,美国东部时区的时钟从上午 2:00 直接跳到上午 3:00。该时区的人当天从上午 1:00 测到上午 4:00,得到的是 2 小时而不是 3 小时,因为钟面上从未出现过 2 点这一小时。计算器能得出正确结果,是因为它对时间戳做减法,而时间戳不会因为时钟跳过或重复某个小时而跳过或重复。
时区
开始和结束字段都使用输入这些日期和时间的设备所在的时区。当两个日期表示同一时区中的时间(这是通常情况)时,无论该时区是哪一个,结果都正确,因为该时区的偏移量会在相减时相互抵消。如果两个日期表示不同时区的时间,应先将其中一个转换为与另一个相同的时区,再输入计算器。否则,结果会相差两个时区之间的时差。
常见问题
计算器显示哪些单位?
秒、分钟、小时和天,以及通俗易懂的摘要。计算器不会直接显示周、月和年,因为月和年的长度并不固定:一个月有28至31天,一年有365或366天。如需估算,可将天数除以7得到周数,除以约30.44得到平均月数,或除以约365.25得到平均年数。
它会考虑闰年吗?
会。由于计算器依据时间戳进行计算,闰日已经包含在结果中,无需额外操作。
它会考虑夏令时吗?
会。它报告的是真实经过的时间,而不是时钟数字之间的简单差值,因此跨越夏令时变更时,结果仍然准确。
结束日期可以早于开始日期吗?
不可以。结束日期和时间必须晚于或等于开始日期和时间,否则计算器会显示错误,而不是给出结果。
它能计算某人的确切年龄吗?
可以。把出生日期和时间作为开始,把当前日期和时间作为结束。例如,某人出生于 1985年3月15日 下午 3:20,在 2024年11月12日 上午 10:45 测算,年龄为 14,486 天,约 39.66 岁。
结果包括周末和节假日吗?
包括,总天数会计算每一个日历日。如需估算工作日天数,可将总天数除以7得到完整周数,再将其乘以5,然后加上剩余天数中落在工作日的天数。
参考文献
- Ecma International。ECMAScript Language Specification(ECMA-262)。ECMA-262:时间值——时间值是从 UTC 1970年1月1日 开始时的午夜这一纪元起计的毫秒数。
- 美国海军天文台。Leap Years。USNO:闰年 — 能被 4 整除的年份是闰年,但不能被 400 整除的整百年份除外。
- 美国国家标准与技术研究院。Daylight Saving Time Rules。NIST:夏令时规则——美国夏令时从三月的第二个星期日上午 2:00 开始,此时当地时间向前跳到上午 3 点。