跳到主要内容
CalcMax

天数计数器

结果

31 天

总天数

含首尾的天数
31 天
不含结束日的天数
30 天

这个天数计数器回答的是单纯的日期差没有答的那一问:最后一天算不算。填两个日期,两个答案会同时给出——两个日期之间相隔多少天,以及把首尾两天都算上又是多少天——再用一个复选框决定主结果照哪一个显示。周五住到周一就是最典型的例子:这一趟是三晚、四天,取决于你在数什么,两个答案都对。两个日期填反了不影响结果,因为间隔是距离,没有方向。闰日与其他日子一样照数。

公式

相隔天数 = 从较早的日期走到较晚的日期所跨过的零点个数;含首尾天数 = 相隔天数 + 1,两端各算一天

startDate
两个日期里的第一个,按 YYYY-MM-DD 填。哪个更早都行,顺序可以互换
endDate
第二个日期。它不要求晚于第一个,答案完全一样
includeEndDate
决定口径的复选框:不勾是数两个日期之间相隔多少天,勾上则把首尾两天也各算一天。它只换主结果,另外两行一直都在
totalDays
跟着复选框走的主结果。它等于下面两行里的一行,不会冒出第三个答案
inclusiveDays
首尾都算的天数,考勤表、吃药的第 1 天到第 7 天都是这个口径
exclusiveDays
只数两个日期之间相隔的天数,酒店按晚数、租期按天数都是这个口径

凡是差一天就会被当成算错的地方都用它:住店按晚数计价、租期、从第 1 天吃到第 7 天的疗程、请假、试用期与通知期、按天结算的工期。两个数永远只差一天,所以报数之前先写清楚用的是哪一种口径——复选框放在这里,就是为了让两种读法都看得见,而不是靠猜。要换算成年月日的分解,或者要跳过周末与法定节假日,那是另外的工具;这一页数的是区间里的每一个日历日。

算例

  1. 周五住到周一:三晚还是四天

    1. 从 1 月 2 日周五走到 1 月 5 日周一,跨过三个零点:分别是周六、周日与周一的开始
    2. 按「两个日期之间」数是 3 天——也就是三个晚上,酒店与租期都用这个数
    3. 把两端各算一天则是 3 + 1 = 4 天,考勤表与请假单通常指的是这个
    4. 复选框没有勾,所以主结果读 3,而含首尾那一行仍然写着 4

    两个数说的是同一趟行程,谁也不是谁的近似值。差的这一天正是这一页存在的理由:同一次预订,商家用哪种口径必须写清楚。

  2. 同一个日期填两遍

    1. 两个日期之间没有跨过任何零点,所以相隔天数是 0
    2. 两端都算的话是 0 + 1 = 1:这一天本身就是日历上的一天
    3. 复选框勾上了,所以主结果跟着含首尾的口径走,读作 1
    4. 把复选框取消,主结果变成 0,而下面两行一个字都不变

    这是两种口径差得最悬殊的一刻:0 与 1。也正是单纯的日期差表达不出来的那件事——它没有办法说明这一天本身算不算。

  3. 跨过闰日的那一天缝

    1. 2024 年是闰年,所以 2 月 29 日存在,正好落在两个日期中间
    2. 从 2 月 28 日到 3 月 1 日之间要跨过两个零点,相隔天数是 2
    3. 两端都算再加一天是 3,复选框没勾,所以主结果读 2
    4. 同样这两个日期放在平年(例如 2026 年)只有 1 天,因为没有 2 月 29 日要跨

    闰日没有被特殊处理:2 月 29 日就是一个普通日期,天数跟着日历走。同一个区间在闰年与平年各填一次,就能看出答案是日历给的,不是一条固定规则。

局限

结果是整数个日历日,所以半天的情形不会出现:某天上午 9 点到次日 9 点是一天,晚上 11 点到凌晨 1 点也是一天,因为只读日期、时刻根本没有输入的地方。区间里的每一天都会被数进去,周末与法定节假日都不排除——要扣它们得用工作日计算器,那是另一个问题、另一个答案。这里也不做年月周的分解,只给两个天数。日期必须真实存在:2 月 30 日会被拒绝,而不是顺延到 3 月 1 日。支持的范围是公元 1 年 1 月 1 日到 9999 年 12 月 31 日,两个日期填反了结果不变。

常见问题

两个数该用哪一个?
用与所数之物匹配的那一个。每一「天」就是一晚、一个租期日,或者从起始日开始算满 24 小时的时候,用相隔天数——周五住到周一是三晚。起始日就算第 1 天的时候,用含首尾天数:吃药的第 1 天到第 7 天、考勤表、请假单都是这个口径。两个数只差一天,报错了是肉眼可见的事,所以这一页把两个都列出来,让口径可以被核对。
2026 年 1 月有多少天?
首尾都算的话 31 天:从 1 日到 31 日。只数两个日期之间是 30 天。填 1 月 1 日与 1 月 31 日:复选框勾着主结果读 31,取消后主结果读 30,而含首尾那一行仍写着 31。月份的长度在这里不是特例,任何一对「首日到末日」都是这么算的。
第一天和最后一天到底算不算?
这正是复选框在决定的事,而两种口径都在日常使用。法律上的默认写在《民法典》第二百零一条:「按照年、月、日计算期间的,开始的当日不计入,自下一日开始计算」;《刑事诉讼法》第一百零五条也写着「期间开始的时和日不算在期间以内」。两条说的都是起始日不计入,给出的就是这一页的相隔天数——1 月 1 日到 1 月 31 日是 30 天;而考勤表与疗程用的是含首尾的 31 天。两个数都会算出来,所以翻复选框永远不会改动下面两行,只换主结果跟着哪一行。
两个日期填反了有影响吗?
完全没有。间隔是距离,谁填在前面结果都一样,也不会出现负数。把 1 月 5 日填成起始日、1 月 2 日填成结束日,得到的数与反过来填完全相同。顺序只在一句话的叙述里有意义——行程从哪天开始,与它持续了几晚,是两个不同的问题。
这个和日期计算器有什么区别?
区别在给出的是什么。日期计算器把一段间隔拆成年、月、日,回答的是两个日期在日历上相隔多远;这一页回答的是这段区间按某种口径一共数到多少天,并且故意不做年月日分解,免得同一个数字出现在两个页面上。要跳过周末与法定节假日的话,那是工作日计算器,给出的数会比这里小。

参考资料

相关计算器