01时间差计算
时间差计算
钟表时间模型
TimeDateLab 比较计算器中显示的本地钟点与日历值,不进行时区转换,也不按夏令时调整实际经过的时间。所有时长结果都由总秒数换算而来。
- 模型
- 钟表时间
- 时区
- 不考虑
- 夏令时
- 不考虑
- 计算依据
- 总秒数
仅时间计算
计算规则
总秒数 = 结束时刻秒数 − 开始时刻秒数 + 次日偏移 × 86,400
次日偏移只有 0 天或 1 天。同日计算不增加天数;开启“结束于次日”时恰好增加 86,400 秒。
仅时间边界情况
- 09:00 → 09:00
- 结果:0 小时
- 09:00 → 次日 09:00
- 结果:24 小时
- 23:59:59 → 次日 00:00:00
- 结果:1 秒
- 23:30 → 次日 01:15
- 结果:1 小时 45 分钟
如果结束时刻早于开始时刻,并且没有开启“结束于次日”,计算器会显示可恢复的错误,而不会返回负时长。
日期与时间计算
计算模型
日期时间标量 = 公历日序号 × 86,400 + 当日秒数 时长 = 结束标量 − 开始标量
有了日期就能确定是否跨天,因此此模式不使用“结束于次日”。结束日期时间早于开始日期时间时会报错;此模式同样不考虑时区和夏令时。
精度与舍入
- 默认按分钟精度显示和计算。
- 开启“包含秒”后使用秒精度;关闭时,隐藏的开始秒数与结束秒数会重置为零。
- 精确时长始终以总秒数为准;折合小时数和折合分钟数由总秒数换算而来。
- 折合值采用四舍五入并保留两位小数;仅当显示值并非精确值时才出现“≈”。
限制
- 支持的钟点范围:00:00:00–23:59:59。
- 不包含闰秒。
- 不进行时区转换,也不按夏令时调整真实经过时间。
02工时计算
工时计算
单班次模型
工时计算器沿用“仅时间”模式的钟表时长模型(不含时区),接收一个开始时间、一个结束时间、明确的 0 或 1 天次日偏移,以及一次整数分钟休息扣除。
计算规则
班次总秒数 = 结束时刻秒数 − 开始时刻秒数 + 次日偏移 × 86,400 净工作秒数 = 班次总秒数 − 休息分钟 × 60
- 休息分钟必须是非负整数,且不能超过班次总时长。
- 净工作时间、折合小时数与总分钟数都由同一个净工作秒数换算而来。
- 折合小时数沿用时间差计算器保留两位小数的四舍五入规则。
- 每周工时卡、多班次、工资、加班、税费、节假日、时区与夏令时不属于此模型。
03工时卡计算
工时卡计算
每周汇总模型
工时卡计算器把已填写的每一天视为一个工作班次,并用上面的工时计算模型逐日计算:一个开始时间、一个结束时间、明确的 0 或 1 天次日偏移,以及一次整数分钟休息扣除。没有填写的那几天会被跳过;只填写了部分值的那天会报错,而不是被猜测补全。
计算规则
每周净工作秒数 = 各日净工作秒数之和 常规工时 = min(每周净工作时间, 阈值) 超出阈值工时 = max(0, 每周净工作时间 − 阈值)
- 时间按分钟输入。每天的休息分钟必须是非负整数,且不能超过当天的班次总时长。
- 加班阈值由你设置,范围为 0 至 168 小时,以 0.25 小时为步长。它只用于拆分每周总工时,不代表工资或法律规则。
- 总分钟数与折合小时数都由同一个每周净工作秒数换算而来。
- 工时卡不提供分享链接;“复制结果”会以纯文本带上全部每日记录。
04天数计算
天数计算
公历日期模型
日期计算采用向前推演的公历模型,支持 至 。1582 年以前的日期也按现代公历闰年规则计算;每个有效日期会转换为整数公历日序号,再进行相减。
- 日历
- 向前推演公历
- 范围
- –
- 日期值
- 公历日序号
闰年规则
年份能被 4 整除时通常是闰年;能被 100 整除时不是闰年,除非它同时还能被 400 整除。
- 1900
- 不是闰年
- 2000
- 是闰年
- 2100
- 不是闰年
端点规则
默认
[start, end)
包含开始日期 · 不包含结束日期
开启“包含结束日期”
[start, end]
包含开始日期 · 包含结束日期
- 相同日期
- 关闭:0 天 · 开启:1 天
- 相邻日期
- 关闭:1 天 · 开启:2 天
工作日与周末天数拆分
工作日(周一至周五)与周末日(周六至周日)按星期直接分类。本工具不扣除法定节假日,因此不是考虑节假日的工作日历。
每个完整的 7 天区间包含 5 个工作日和 2 个周末日,其余日期再逐一分类。
计算守恒关系
工作日 + 周末天数 = 日历天数
边界情况与限制
- 相同的端点与日历规则适用于跨月、跨年,以及 1900 年和 2000 年等闰年边界。
- 结束日期早于开始日期时,计算器会报告错误;它不会静默交换日期,也不会返回绝对值。
- 不提供法定节假日日历、自定义工作周或日期加减功能。
06验证方式
验证方式
实现可信度来自多种相互补充的检查。
- 固定边界
- 固定示例覆盖闰年边界、相同时刻、跨夜、支持日期范围两端和反向输入。
- 守恒关系
- 生成的输入会检查工作日与周末天数守恒、分享状态往返稳定,以及无效状态的安全处理。
- 独立对照
- 开发期间,公历日期计算会与独立的日历实现进行对照;该对照库仅用于开发,不会进入生产版本。
- 浏览器与界面
- 真实浏览器检查覆盖中英文计算流程、键盘与无障碍行为、移动端与缩放布局、分享、复制、错误恢复,以及网络和隐私边界。
这些检查可以提高可信度,但不能证明缺陷不可能存在,也不代表认证或形式化验证。