在线日期计算器
计算两个日期之间相隔多少天,或从某一天往前/往后推算 N 天,立刻得到结果日期和星期几。
使用说明
算间隔:选开始和结束日期,点「计算间隔天数」,结果含天数差、周数和对应星期。
算推算:填基准日期和推算天数(负数表示往前推),得到新日期和星期。
下方整理了日期计算的公式、Excel 写法,以及「算头算尾」这类最容易出错的地方。
日期计算怎么算:先搞清楚「算不算首尾」
日期计算最常见的问题不是算不出来,而是口径不一致。同样一件事,算不算当天,结果能差 1 到 2 天。
举例:3 月 1 日到 3 月 5 日,一共几天?
| 算法 | 结果 | 什么时候用 |
|---|---|---|
| 两个日期直接相减(不算首日) | 4 天 | 算「还有几天到」——从今天到目标日经过的时间 |
| 算头算尾(含首尾两天) | 5 天 | 算「活动持续几天」——如 3月1日开始、3月5日结束 |
| 算头不算尾(含首日不含尾日) | 4 天 | 酒店住宿——1 日入住、5 日退房住 4 晚 |
本站工具默认给的是两个日期直接相减的结果。如果你要算「活动持续几天」这种含首尾的场景,把结果 +1 即可。
这个差别在合同、租期、工期计算里特别重要。签合同写「租期 30 天」时,务必和对方确认是按哪种口径算,避免纠纷。
Excel 日期计算公式怎么设置
在 Excel 里算日期比手算容易出错,因为 Excel 把日期存成数字(1900 年 1 月 1 日 = 1),格式不对就会显示成 45000 这种数。下面是最常用的几个公式。
算两个日期相隔多少天
最简单:=B1-A1,然后把单元格格式设为「常规」或「数值」。如果显示成日期,改格式即可。
用函数写:=DATEDIF(A1,B1,"D"),D 表示天数。
DATEDIF 函数的六种参数
| 参数 | 含义 | 示例(2020-03-10 到 2026-09-16) |
|---|---|---|
| "Y" | 整年数 | 6 |
| "M" | 整月数 | 78 |
| "D" | 总天数 | 2381 |
| "MD" | 忽略年月后的天数差 | 6 |
| "YM" | 忽略年后的月数差 | 6 |
| "YD" | 忽略年后的天数差 | 190 |
DATEDIF 是 Excel 的隐藏函数,输入时没有提示、不会自动补全,必须手打全。这不是你打错了,是它本来就不在函数列表里。另外 "YD" 参数在起止日期的月日顺序颠倒时,Excel 给出的结果可能不准,重要场合建议用 =B1-A1 直接相减更可靠。
算工作日(排除周末)
=NETWORKDAYS(A1,B1) —— 自动排除周六日,得到工作日天数。
=NETWORKDAYS(A1,B1,C1:C10) —— 第三个参数填法定节假日列表(在 C1:C10 里列出来),会一并排除。
=WORKDAY(A1,10) —— 从 A1 往后推 10 个工作日是哪天,同样支持第三个参数排除节假日。
算工期、算交付日、算请假天数的时候,用 NETWORKDAYS 比手数日历靠谱得多。
常用日期函数
=TODAY() 今天的日期(会随日期变化)
=NOW() 当前日期和时间
=YEAR(A1) / =MONTH(A1) / =DAY(A1) 提取年、月、日
=EDATE(A1,3) A1 往后推 3 个月
=EOMONTH(A1,0) A1 所在月的最后一天
实际场景的日期算法
算合同/租期到哪天
如果合同写「自 2026 年 3 月 1 日起 12 个月」,到期日一般是 2027 年 2 月 28 日(不是 3 月 1 日)。规则是起始日对起始日,前一天为到期日。闰年 2 月 29 日签的合同,平年到期日通常顺延到 2 月 28 日或 3 月 1 日,建议在合同里写明。
算试用期
《劳动合同法》规定:劳动合同期限 3 个月以上不满 1 年的,试用期不得超过 1 个月;1 年以上不满 3 年的,不得超过 2 个月;3 年以上及无固定期限的,不得超过 6 个月。试用期包含在劳动合同期限内,不是额外加的。
算倒计时
考研、考试、项目交付的倒计时,用「结束日期 − 今天」。注意如果需要「含今天」,要把结果 +1。本站工具里开始日期填今天即可。
算账单/还款日
信用卡还款日、房贷还款日通常按「每月固定日期」算。跨月时要特别注意:如果还款日是 31 日,遇到只有 30 天的月份,不同银行处理方式不同(有的按月末最后一天,有的顺延到下月 1 日)。这类日期建议直接看银行账单,不要自己推算。
常见问题
怎么算项目截止日还剩几天?
把今天填为「开始日期」、截止日填为「结束日期」,间隔天数就是剩余天数。如果要含今天,结果再加 1。
可以推算100天后是星期几吗?
可以。填入基准日期、推算天数填 100,结果会给出具体日期和对应的星期几。往前推算填负数即可。
为什么两个日期相减和日历上数的不一样?
因为口径不同。直接相减不算首日,日历上人工数通常会算头算尾,所以人工数出来会多 1 天。看你需要哪种口径,按需 +1。
Excel 里日期相减显示成一串数字怎么办?
说明单元格被设成了日期格式。选中单元格 → 右键「设置单元格格式」→ 选「常规」或「数值」,就会显示成天数差了。
工作日天数怎么算?周末和节假日要排除
用 Excel 的 =NETWORKDAYS(开始,结束,节假日区域),会自动排除周六日和你在第三参数里列出的法定节假日。本站工具目前给的是自然日天数,不含工作日计算。
DATEDIF 函数为什么打不出来?
DATEDIF 是 Excel 的隐藏函数(为兼容 Lotus 1-2-3 保留),不会出现在函数提示列表里,但可以直接手打使用。输入时没有参数提示是正常现象,按顺序填对参数即可。
算出来的天数包含当天吗?
不包含。比如 3 月 1 日到 3 月 5 日算得 4 天,指的是中间经过的时间。如果要算「活动持续多少天」(含首尾),把结果 +1 得到 5 天。