日期范围分割
把一个日期范围分成最多 50 个相等的分块——适合分块报告、冲刺日历、月度队列、每次请求限制时间窗口的 API 回填,以及跨长时间段的批处理任务。计算以毫秒精度进行:先把时间跨度均分为 N 份,再把每个边界对齐到你本地时区的零点,因此在按整天输出的前提下分块尽可能均匀。区间模式列出每个分块的开始、结束和天数;边界点模式只列出 N+1 个切分日期,可直接粘贴进查询或脚本。全部在浏览器中运行,输入只保存在本地。 有两个语义值得了解:开启「包含结束日」时,最后一天归属最后一个分块(即“截至 6 月 30 日”的自然理解);关闭则得到半开区间 [start, end) 的分割。另外在区间模式中,每个分块的结束等于下一个分块的开始,因此相邻行恰好铺满整个范围,既无缝隙也不会重复计天。
—
输出:
分割
- #12026-08-21 → 2026-11-2091d
- #22026-11-20 → 2027-02-2092d
- #32027-02-20 → 2027-05-2291d
- #42027-05-22 → 2027-08-2292d
边界按你本地时区对齐到零点。
使用方法
- 选择开始日期、结束日期,以及想要的区间数(1–50)。
- 选择输出:区间模式把每个分块显示为开始 → 结束并附天数;边界点模式只显示 N+1 个切分日期。
- 根据最后一天应计入范围内(开)还是作为排他端点(关),切换「包含结束日」。
- 用复制按钮一次抓取所有行——每行一条,直接可用于电子表格或脚本。
常见问题
- 如果范围不能整除会怎样?
- 分割先按毫秒计算,再把每个边界对齐到本地零点,因此某些分块可能比其他分块长或短一天。舍入误差分散在各个边界上,而不是全部堆到最后一个分块,使区间在按整天输出的前提下尽量均衡。
- 什么时候选边界点而不是区间?
- 边界点恰好是可以直接喂给 `BETWEEN` 子句、分区函数或日期窗口循环的切分点——无需再配对起止日期。而当人工阅读排期、想一眼看到每个分块的天数时,区间模式更合适。
- 为什么每个分块的结束等于下一个分块的开始?
- 各行遵循半开区间 [start, end) 的惯例:共享边界归属于后一个分块,因此没有任何一天被重复计算,也没有一天落入缝隙。如果报表需要每块的包含式结束日期,复制后把每个结束列减去一天即可。
- 时区和夏令时如何处理?
- 所有日期都按浏览器本地时区的零点解释,每个计算出的边界也会重新对齐到本地零点,因此输出永远是干净的整数日期——不会出现半天或奇怪的时刻。范围内若有夏令时切换,原始的毫秒切分点会偏移一小时;对齐之后,最多是让恰好落在零点附近的边界移到相邻一天——与上文所述的整天舍入是同一种现象。
- 能按日历月份或季度分割吗?
- 不能——它按经过的时间把跨度分成等长的分块。把一年分成 4 份得到约 91 天的分块,只是日历季度的近似(1–3 月是 90 天,7–9 月是 92 天)。需要严格的日历周期时,请自行列出月份或季度的起始日;当分块必须等长时再用本工具。
相关工具
随机日期选择器
在两个边界之间选 N 个随机日期 — 提供唯一、排序、仅工作日选项。
随机 0 0
季度计算器
对任意日期,给出日历季度、会计季度(可配置会计年度起始月)、本季度已用/剩余天数,以及该季度的起止日期。
时间 0 0
D-Day 倒数计算器
计算两个日期之间的天数,或到目标日期的倒数。
时间 0 0
时间差计算器
精确计算两个日期时间之间的差值——按日、时、分、秒分解。
时间 0 0
日期计算器
对任意日期加减年 / 月 / 周 / 日 / 工作日,或计算两个日期之间的差值。
时间 0 0
复活节日期计算器
用标准格里高利复活节算法(computus)— 或东方正教会的儒略变体 — 计算任意年份的复活节星期日。
时间 0 0