TapCub 正式上线:统计、分析、客服一个平台免费用

免费工具 日期计算器:日期加减天数、加工作日、查第几周

从今天(或任意一天)往后、往前推若干天、周、月、年,马上知道是几月几号、星期几。要按工作日推,选中国节假日就会跳过法定假日、把调休上班的周末算进去;结果日期是第几周、一年中的第几天也一起列出来。

  • 加减年 / 月 / 周 / 天
  • 工作日含调休
  • 本地计算
计算器

日期加减和工作日推算

默认是今天加 100 天。年、月、周、天可以同时填,先加年月、再加周和天;填负数就是反方向。

打开页面时自动填今天(分享链接里的日期除外)。

选「工作日」时只数工作日,跳过周末和节假日。

中国:国务院办公厅放假通知(2019–2027 年),含调休上班。美国:联邦假日及周末补休。也决定下面「当天安排」怎么显示。

结果日期

2027-02-18 星期四

2026-11-10 加上 100 天,即往后 100 天

工作日

日期信息

起始日期和结果日期各是星期几、第几周、一年中的第几天,以及当天是不是工作日。

起始日期结果日期
日期2026-11-102027-02-18
星期星期二星期四
当天安排工作日工作日
ISO 周数2026 年第 46 周(2026-W46)2027 年第 7 周(2027-W07)
周数(周日开始,同 Excel WEEKNUM)第 46 周第 8 周
一年中的第几天第 314 天,还剩 51 天(全年共 365 日)第 49 天,还剩 316 天(全年共 365 日)
季度Q4Q1
当月天数30 天28 天
闰年否否
距今天今天之前 1 天今天之后 99 天
全部在你的浏览器里计算。这里输入的任何内容都不会上传,TapCub 也不会保存。

分享这组输入:数值写在链接的 # 后面,不会发到服务器。

版本 v1.0更新于 更新记录

读懂结果

结果日期旁边的几项信息

算出日期以后,常常还要知道它是星期几、在第几周、是不是上班日,这些都列在信息表里。

结果日期

加减年和月时按日历走:2026-08-31 加 6 个月是 2027-02-28,因为 2 月没有 31 号,取当月最后一天,页面会提示。加周和天就是直接数日子,不受月份长短影响。

工作日推算

起始日本身不算,从第二天开始一天天数,周末和法定节假日跳过,调休上班的周末算一个工作日。「中间隔了几个日历日」帮你判断要不要提前:10 个工作日在国庆前后可能要跨 3 周。

ISO 周数

按 ISO 8601:每周从周一开始,含当年第一个周四的那一周是第 1 周。所以 2027-01-01(周五)属于 2026 年第 53 周。国内排期、数据库 YEARWEEK(date, 3)、Excel ISOWEEKNUM 用的都是它。

周数(周日开始)和第几天

另一种常见周数:周日开始、1 月 1 日所在的那周算第 1 周,和 Excel WEEKNUM 默认一致,美国日历常用。一年中的第几天就是从 1 月 1 日数起的序号,2026-11-10 是第 314 天。

「当天安排」按上面选的节假日口径判断;只去周末时只分工作日和周末。

怎么用

三步推算日期

边填边算。常用的 30 天后、100 天后、6 个月后、10 个工作日后都有按钮。

  1. 1

    定起始日期

    默认今天。算合同到期、发货日、试用期结束时,填合同签订日或下单日。

  2. 2

    填要加减的量

    按日历推就填年、月、周、天,可以组合(比如 1 年 2 个月);按工作日推就把「加减什么」换成工作日,填天数。往前推选「往前(减)」。

  3. 3

    看结果和日期信息

    大字是结果日期和星期几,下面写明加了什么、跨了多少天。信息表里有第几周、一年中的第几天、当天是否上班;工作日模式还会列出途中跳过的假期。

计算规则

先加年月,再加周和天;工作日逐日数

日期换成从 1970-01-01 起的第几天(整数)再计算,不经过时间戳,所以不受时区和夏令时影响。加减年月的规则和 Python 的 dateutil、Excel 的 EDATE 一致;加工作日和 Excel 的 WORKDAY 一致,但多了调休上班的周末。

  • 年和月先合并成月数一起加,目标月份没有这一天时取当月最后一天;之后再加「周 × 7 + 天」
  • 加 N 个工作日:起始日不算,往后一天天数,遇到工作日计 1,数到 N 为止;N = 0 时就是起始日
  • 工作日判断:周一到周五是工作日,法定节假日不是;中国口径下通知里写明上班的周末是工作日
  • ISO 周:周一开始,周四落在哪一年,这一周就属于哪一年;有的年份有 53 周(2026 年就是)
  • 中国节假日来自国务院办公厅 2019–2027 年的放假通知;美国联邦假日按 5 U.S.C. 6103 推算,周末的假日在周五或周一补休

加月份

结果 = 目标月份的 min(起始日, 当月天数)

2026-01-31 + 1 个月 = 2026-02-28

加周和天

结果 = 起始日 + 周 × 7 + 天

2026-11-10 + 100 天 = 2027-02-18

ISO 周数

周数 = ⌊(本周周四是当年第几天 − 1) ÷ 7⌋ + 1

2026-11-10 → 2026-W46

周日开始的周数

周数 = ⌊(第几天 − 1 + 1 月 1 日是周几) ÷ 7⌋ + 1

周日 = 0;2026-11-10 → 第 46 周

算例

几种常见推算,结果逐个核对

起始日期都填 2026-11-10(周二)或表里写的日期,节假日口径选「中国」。

日期加减和工作日推算的结果
问题怎么填结果
100 天后是几号2026-11-10,加 100 天2027-02-18 星期四
90 天前是几号2026-11-10,往前 90 天2026-08-12 星期三
月底加 6 个月2026-08-31,加 6 个月2027-02-28 星期日(2 月没有 31 号)
10 个工作日后2026-11-10,加 10 个工作日2026-11-24 星期二,跨 14 天
国庆前 5 个工作日后2026-09-30,加 5 个工作日2026-10-13 星期二,跨 13 天
跨年的周数查 2027-01-01 的信息ISO 2026-W53;周日开始的周数为第 1 周

国庆那一行:10 月 1 日到 7 日放假,8 日、9 日上班数 2 天,10 月 10 日(周六)调休上班数第 3 天,12 日、13 日数到第 5 天。只去周末的话会得到 2026-10-07,正好落在假期里。

常见错误

日期加减最容易出的错

多数错误都发生在月底、跨年和时区这几个边界上。

用 JS 的 setMonth 加月份

new Date(2026, 0, 31) 再 setMonth(1) 会得到 3 月 3 日:2 月没有 31 号,多出来的天数顺延到了下个月。业务上「1 月 31 日加 1 个月」一般指 2 月 28 日,要自己判断月底。

跨年时 ISO 周的年份写错

2027-01-01 是 ISO 2026 年第 53 周。如果拿日期本身的年份拼周数,会得到不存在的「2027-W53」。按周汇总的报表、周报文件名要用 ISO 周所属的年份(MySQL YEARWEEK(date, 3)、Python isocalendar())。

把起始日算成第 1 个工作日

「3 个工作日内发货」一般从下单次日算起。起始日也算进去会早一天到期,承诺给客户的日期就错了。这里和 Excel WORKDAY 一样,起始日不算。

日期字符串被当成 UTC

new Date("2026-11-10") 在 JavaScript 里按 UTC 零点解析,在美国时区显示成 11 月 9 日。只关心哪一天时,按年月日分别处理,或者明确写上时区。

常见问题

日期计算常见问题

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

日期计算器怎么算 100 天后是几号?

起始日期选今天(打开页面默认就是),「往后」,天数填 100,结果马上出来。比如从 2026-11-10 算,100 天后是 2027-02-18,星期四。往前推就选「往前(减)」。

日期加一个月,遇到月底怎么算?

目标月份没有这一天时取当月最后一天:1 月 31 日加 1 个月是 2 月 28 日(闰年 29 日),3 月 31 日减 1 个月是 2 月 28 日。这和 Excel 的 EDATE、Python 的 relativedelta 一致。直接用 JS 的 setMonth 会顺延到 3 月初。

怎么推算 N 个工作日后的日期?调休算不算?

把「加减什么」换成工作日,填天数。起始日不算,往后逐日数,周末和法定节假日跳过;选「中国」时,通知里写明上班的周六、周日也算一个工作日。Excel 的 WORKDAY 只能扣掉你列出的假日,算不进调休上班的周末。

今天是第几周?ISO 周数和 WEEKNUM 有什么不同?

ISO 周数(ISO 8601)每周从周一开始,含当年第一个周四的那周是第 1 周,跨年时可能属于上一年第 52 或 53 周;Excel WEEKNUM 默认周日开始、1 月 1 日所在的那周就是第 1 周。两种都列在信息表里,2026-11-10 两种都是第 46 周,年底年初会不一样。

今天是一年中的第几天?

从 1 月 1 日数起的序号,信息表「一年中的第几天」就是,还写了今年还剩几天。2026-11-10 是第 314 天,还剩 51 天。Excel 里可以写 =A1-DATE(YEAR(A1),1,0)。

在 Excel、MySQL 里怎么做同样的计算?

Excel:加天数 =A1+100,加月份 =EDATE(A1,6),加工作日 =WORKDAY(A1,10,假期区域),ISO 周 =ISOWEEKNUM(A1)。MySQL:DATE_ADD(d, INTERVAL 6 MONTH)(月底同样取最后一天)、YEARWEEK(d, 3)。

和日期天数计算器、时间戳转换有什么不同?

这里是「某天加减多少」得到另一个日期。已知两个日期、想知道隔了多少天或几个工作日,用 日期天数计算器;要处理带时分秒的 Unix 时间戳,用 时间戳转换器;跨时区的具体时刻,用 时区转换。

更新记录

更新记录

这个工具的新功能、修复和数据更新,最新的在前。

  1. · v1.0

    首次上线首次上线。

这个工具用到的数据

  • 中国法定节假日安排(国务院办公厅通知,2019–2027 年) — 核对于 2026-11-11,每 12 个月复核(2027-11-11 前复核)

缺功能或发现错误?告诉我们,常被提到的会排进下次更新。 全部工具更新

下一步

让报表自己算时间间隔

装好 TapCub,首单间隔、复购周期、留存都按你站点的时区按天计算,报表可以按日或按周订阅。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie