能算哪几件事
工具分三个独立的小功能,各自有输入框和结果区,互不影响。
- 两个日期相差多久 —— 给出总天数、按日历折算的年月日、周数与剩余天数,以及期间的工作日数量。
- 某个日期往前或往后推 N 天 —— 给出目标日期、那天是星期几,以及只算工作日的话会落在哪一天。
- 倒数日 —— 距离某个日期还有多少天(已过则显示过去多少天),并说明含今天与不含今天两种算法的差异。
算日期差、工作日、往前推多少天、以及距离某个日子还有多久。
三个小功能,各自独立:① 算两个日期相差多久;② 从某天往后/往前推 N 天;③ 倒数日。全部在浏览器本地计算。
选好两个日期后点「计算」。
填好起始日期和天数后点「计算」。
选一个日期后点「计算」。
new Date("2025-01-01") 这种「纯日期字符串」会被当作 UTC 午夜,
在东八区(UTC+8)换算成本地时间就是当天的早上 8 点。
一旦拿它去和本地时间(比如「今天 00:00」)做差,结果就可能整整差一天。
所以本站把 "2025-01-01" 按连字符拆成年 / 月 / 日,
再用 new Date(2025, 0, 1) 构造 —— 这样拿到的是本地时区当天的 00:00。全部计算在浏览器本地完成,不上传任何内容,刷新页面即清空。结果只做日期推算,不构成任何期限承诺;涉及报名、缴费、请假等截止时间,请以官方通知为准。
工具分三个独立的小功能,各自有输入框和结果区,互不影响。
工作日按周一至周五计算,不扣除法定节假日,也不补偿调休上班的周末。这一点必须说清楚,因为中国的法定节假日安排每年由国务院另行发布,而且经常包含调休 —— 也就是某些周末要上班、某些工作日放假。
要精确计算扣除节假日后的工作日,需要一份当年的节假日安排表。本工具不内置这份数据,理由是它每年都会变,内置了就必然过时,而过时的数据比没有数据更容易误导人。
所以:需要快速估算时用本工具;涉及合同期限、报名截止这类要紧的事情,请以官方日历为准。
第一,含首尾还是不含首尾。同样是 1 月 1 日到 1 月 3 日,不含首尾算 2 天,含首尾算 3 天。两种口径在生活中都有人用 —— 比如「活动持续几天」通常含首尾,而「距离还有几天」通常不含。工具会同时给出两个数字,你按需要取用。
第二,时区。这是个技术细节但会造成实际错误:如果用 JavaScript 直接解析「2025-01-01」这样的日期字符串,标准规定按 UTC 解析,在东八区就会变成 2024 年 12 月 31 日 08:00,做日期差时可能少算一天。本工具的做法是把年月日拆开、用本地时间构造日期对象,从根上避免这个问题。
不含首尾就是直接相减,例如 1 月 1 日到 1 月 3 日算 2 天;含首尾则把起始日也计入,算 3 天。两种口径在不同场景都有使用:说「距离考试还有几天」通常不含今天,说「活动持续几天」通常含首尾。本工具会同时给出两个结果,按你的实际需要取用即可,不用自己加减。
不会,只按周一至周五计算。原因是中国的法定节假日安排每年由国务院发布,并且包含调休(某些周末上班、某些工作日放假),要做到精确就必须内置当年的节假日表。而这份表每年都变,内置进去必然过时,过时的数据比没有数据更容易误导人,所以工具选择不内置并明确说明。如果是估算用没问题;涉及合同期限、报名截止这类要紧事项,请以官方日历为准。
最常见的原因就是含首尾与不含首尾的口径差异 —— 比如从 3 月 1 日到 3 月 31 日,不含首尾是 30 天,含首尾是 31 天,两者都不算错,只是口径不同。另一个原因是有些人在手算时把起始日或结束日重复计算了一次。建议先确认你要的是哪种口径,再看工具给出的两个数字中哪一个符合预期。
假设今天是 1 月 1 日,目标是 1 月 10 日。不含今天的算法是 9 天(从明天开始数);含今天则从今天算作第一天,是 10 天。日常说「还有几天」一般用不含今天,而「倒计时第几天」这类说法通常含今天。工具会同时给出两个数值,避免因为口径不清而产生误解 —— 尤其在考试倒计时、项目截止日这类场合,差一天可能影响安排。
不会。所有计算都在你的浏览器里完成,输入的日期不会发送到任何服务器,也没有任何形式的记录或统计。你可以断网使用来验证这一点。