时长

时长计算器

计算两个日期之间的天数,把任意时长分解为标准形式,或将一个日期按时长向前或向后移动。

等待有效输入选择开始和结束日期,然后点击计算。

支持纯数字和带单位的字符串(1y 2mo 3d 4h)。月和年使用格里高利历的平均值(30.44 天 / 365.2425 天)。

分解
1 day, 2 hours, 30 minutes
共 95,400 秒。
总计
年(平均)0.003
月(平均)0.036
0.158
1.1042
小时26.5
分钟1,590
95,400
标准格式
ISO 8601P1DT2H30M
毫秒95,400,000
微秒95,400,000,000
文字形式1 day, 2 hours, 30 minutes
等待有效输入选择开始日期和要加减的时长。

常用时长

点击任意一项,把它带入分解标签页。

这个计算器做什么

三种模式合一:两个日期之间计算日期间的天数;分解把任意时长转换为所有标准单位;加/减按时长移动一个日期。

两个日期之间的天数 — 公式

两个输入都按 UTC 午夜处理,(结束 − 开始) / 86,400,000 毫秒——结果总是整数。两个'包含'复选框各自加一天。

日历分解 vs 平均总计

日历沿真实日期走('1 年 2 个月');平均总计使用格里高利历平均值(365.2425 天/年,30.437 天/月)。两者并排显示。

解析自由形式的时长

分解标签页接受纯数字(用默认单位)、'1d 2h 30m' 这样的标记字符串,以及 '1y 2mo 3d' 这样的混合形式。无法识别时会显示带示例的提示。

向日期加减

加/减接受起始日期、+/− 与时长,输出结果日期、星期几、Unix 时间戳和年内第几天。

常用时长

八个参考值(1 分钟到 1 年)覆盖经常出现的数值。点击任一项就把它带入分解标签页。

在代码中使用

数学是可复现的:间 = (结束 − 开始) / 86,400,000;加/减 = 基准 + 偏移×1000。解析器和辅助函数位于仓库的 src/timeUtils.ts。