📅 日期差计算器
两个日期间的天数/周数/月数/年数 + 工作日计算 + 倒计时
什么是日期差计算器?
日期差计算器是一款用于计算两个日期之间时间间隔的在线工具。它可以快速计算出两个日期之间相差多少天、多少周、多少个月、多少年,还支持工作日计算和日期推算功能。无论是计算项目周期、纪念日、倒计时、预产期、还是规划行程,都可以使用本工具快速得到准确结果。所有计算在浏览器本地完成,无需联网,不涉及隐私数据上传。
功能特点
- 日期差计算:计算两个日期之间相差的天数、周数、月数、年数,精确到日。
- 日期推算:给定基准日期,加上或减去年/月/日,推算出对应的日期是星期几。
- 工作日计算:统计两个日期之间的工作日数量(排除周六周日),适合项目排期。
- 多模式切换:三种计算模式一键切换,满足不同的日期计算需求。
- 纯前端计算:所有计算在浏览器本地完成,输入的日期信息不上传服务器。
使用场景
场景一:项目管理与排期
在项目管理中,经常需要计算项目周期、里程碑间隔、任务工期。例如项目从3月1日启动,计划6月30日完成,总共多少天?其中多少个工作日?用本工具的工作日计算功能,可以快速得出总天数122天、工作日约87天(按每周5天计算,不含法定节假日)。帮助项目经理合理安排人力和时间。
场景二:纪念日与倒计时
想知道和ta在一起多少天了?距离结婚纪念日还有多少天?距离年底还有多少个工作日?输入两个日期即可得到答案。也可以用日期推算功能,比如"100天后是几月几号星期几",方便安排100天纪念日的庆祝活动。生日、周年、节日倒计时都可以轻松计算。
场景三:孕产育周期计算
计算孕周和预产期是常见的日期计算需求。以末次月经第一天为基准,加280天(40周)就是预产期。用日期推算功能,输入末次月经日期,加280天即可得到预产期。还可以计算当前孕周、距离预产期还有多少天等。当然,实际预产期以医生诊断为准,本工具仅作参考。
场景四:合同与账期管理
商务合同中经常有"30天内付款""90天账期""合同签订后15个工作日内交付"等条款。用本工具的日期推算功能可以快速算出付款截止日、交付截止日。用工作日计算功能可以排除周末,更精确地计算工作日天数,避免因日期计算错误导致违约。
计算原理
日期计算的核心是利用 JavaScript 的 Date 对象进行时间戳运算。Date 对象内部以毫秒级时间戳存储日期,两个日期相减得到毫秒差,再除以对应的换算系数(86400000毫秒=1天)即可得到天数。月数和年数的计算稍微复杂,因为不同月份天数不同,需要按月逐一计算或使用年月差算法。
// 计算两个日期之间的天数
function diffDays(start, end) {
const ms = end - start;
return Math.floor(ms / (1000 * 60 * 60 * 24));
}
// 计算工作日数量(排除周六周日)
function countWorkdays(start, end) {
let count = 0;
const cur = new Date(start);
while (cur <= end) {
const day = cur.getDay();
if (day !== 0 && day !== 6) count++;
cur.setDate(cur.getDate() + 1);
}
return count;
}
// 日期加减
function addDate(base, years, months, days) {
const result = new Date(base);
result.setFullYear(result.getFullYear() + years);
result.setMonth(result.getMonth() + months);
result.setDate(result.getDate() + days);
return result;
}
关于闰年
闰年是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的。闰年规则:能被4整除但不能被100整除的年份是闰年,能被400整除的也是闰年。闰年2月有29天,平年2月有28天。在进行日期加减计算时,如果涉及2月底,需要注意闰年的影响。例如1月31日加1个月,平年是3月3日(因为2月只有28天),闰年是3月2日。