跳到正文

日期天数计算

这个免费的计算器数出两个日期之间的天数:输入开始日期和结束日期,就能得到天数、周数、日历月数和工作日数,周末天数单独列出。它在浏览器里运行,不需要安装。

算「两个日期之间有多少天」到底在算什么

同一个问题其实有两个都说得通的答案,差别是 1 天。数两个日期之间的夜数:3 月 1 日到 3 月 5 日是 4 夜。数你实际在场的天数,两头都算进去,就是 5 天。哪个都不算错,用哪个取决于你为什么要问——酒店按夜收费,请假通常两头都算。

这正是「包含结束日期」这个选项的作用:它摆在页面上让你自己选,而不是替你悄悄假设,这样屏幕上的数字才经得起别人核对。开始日期和结束日期可以按任意顺序输入;如果结束日期比开始日期早,计算器会把两者交换过来并说明已经交换,而不是给你一个负数。

周和月,以及为什么月不是固定的天数

周很简单:把天数除以 7,按整周显示,剩下的天数单独列出来,而不是折成一个小数。月就没这么简单,因为一个月是 28 到 31 天中的某个数,答案取决于这段时间跨过了哪几个月。

这个计算器给出的是日历月,而不是天数除以 30。它从开始日期起按整月往前推,只要结果还没超过结束日期就继续推,剩下的天数再单独报出来。从 1 月 31 日往后推,会落在 2 月的最后一天,因为没有 2 月 31 日,遇到其他短月份也是同样处理。用 30 去除天数,得到的结果在大多数情况下和日历对不上,这也是为什么发薪周期、通知期和合同期限都是按日历月写的。

工作日、周末天数,以及这个数字不知道的事

工作日的数字数的是这段时间里的每个周一到周五,周末的数字数的是其中的周六和周日,两者加起来就是全部天数。这样拆开正好回答一个常见的问题——距离某个截止日期还有多少个工作日——不用另外找一个工具。

它不会做的是扣掉公共假日。假日因国家、地区、有时还因雇主而不同,如果悄悄假定用某一套日历,对大多数看这个数字的人来说都会算错,所以请自己减去适用于你的那些假日。它也不知道一周的工作日安排不是周一到周五的情况,这在不少国家都是常态。这一切都在你的浏览器里用单纯的日历日期算出来,不涉及时区,也不会发送到任何地方。如果你要的是从一个日期往前或往后推算落到哪一天,而不是量两个日期之间的差,日期计算器能做到。

距今天数

当第二个日期就是今天时,选择「距今天数」模式。这里只有一个字段,默认填好今天的日期,你只需要把它往前调;天数会数到你自己日历上的今天:先是天数,再是周加天,再是日历月加天,超过一年之后则是年、月加天。它计算到的那个「今天」会写在字段下方,所以哪怕明天才截图,也能看出当时说的是哪一天。

同样存在那个相差一天的选择。默认情况下,当天本身算作第零天,这是「经过时间」的答案;如果你是像连续打卡或戒断天数那样从第一天开始数的,就勾选「把今天算作一天」。晚于今天的日期会给出距离它还有多少天,并会说明这一点。「复制链接」会把日期以 ?since= 加上日期的形式放进地址里,谁打开链接,看到的都是数到他们自己那个「今天」的天数,这正是一个「距今」链接该有的用法。它和两个日期模式用的是同一套日历算法,所以跨过调整时钟的那个夜晚,仍然算作一天。

常见问题

两个日期之间一共有多少天?

输入两个日期,计算器会立即给出天数,同时给出对应的周数、月数、工作日数和周末天数。

结束日期要不要算进去?

看你数的是什么。数两个日期之间的夜数不算结束日期;数你在场的天数则要算。页面上的选项让你自己选,数字会因此相差 1。

工作日是怎么数的?

这段时间里的每个周一到周五都会被数进去,周六和周日单独列出。公共假日不会被扣除,因为它们因国家和雇主而不同。

月数为什么不是天数直接除以 30?

因为一个月是 28 到 31 天,除以 30 在大多数情况下和日历对不上。计算器数的是整个日历月,剩下的天数另外列出。

计算器会数闰日吗?

会。这段时间里的每一个 2 月 29 日都当作真实的一天算进去,用的是完整的闰年规则,而不是一个平均年长度。

距离某个日期已经过去多少天了?

选择「距今天数」模式并输入日期;到今天为止的天数会以天数、以周加天,以及日历月加天三种形式显示。如果你是从第一天开始数的,勾选「把今天算作一天」。