Workday Calculator
Count workdays between dates, find the date N workdays away, and build monthly calendars with custom weekends and holidays
两个日期之间有多少个工作日
全程在浏览器本地计算,不发送任何请求;日期用整数日历运算,不受时区和夏令时影响。
计算结果
—
节假日与调休设置
一行一个日期,日期后面可以跟名称(也可以不跟):2026-10-01 国庆节。
支持 # 开头的注释行与空行,2026/1/1 这种写法会自动纠正。
优先级:调休补班 > 法定假日 > 周末 > 普通工作日。同一天既在假日又在补班清单里时,按补班(要上班)处理。
下面的 2026 年清单只是示例,请按国务院办公厅当年发布的官方通知核对后再修改。 两份清单会自动存在本机浏览器(localStorage),下次打开还在。
优先级:调休补班 > 法定假日 > 周末 > 普通工作日。同一天既在假日又在补班清单里时,按补班(要上班)处理。
下面的 2026 年清单只是示例,请按国务院办公厅当年发布的官方通知核对后再修改。 两份清单会自动存在本机浏览器(localStorage),下次打开还在。
About this tool
The number of workdays between two dates depends on three things: which days the weekend falls on, which public holidays apply, and which weekend days are worked to make up for a holiday. Get any one wrong and the answer is off by days. This tool puts all three in your hands, judges each day in the order make-up workday, then public holiday, then weekend, then ordinary workday, and shows both the conclusion and the process rather than a bare number.
Three modes
- Date range: how many workdays fall between a start and an end date, with checkboxes to include the start, the end, both or neither, matching the different conventions people use. The result gives calendar days, weeks and leftover days, and a breakdown of ordinary workdays, make-up days, weekend rest and holiday rest
- Project a date: count N workdays forward from a date, or backward with a negative N. Reverse mode treats the given date as a deadline and works back to the latest start, counting the start day as the first workday, which suits delivery scheduling. The result lists the holidays skipped and any make-up days worked along the way
- Monthly calendar: a full-month view with four colours for workdays, weekends, public holidays and make-up days, plus counts of working and rest days. Tick the yearly option for a twelve-month workday table
Rules
- Any weekend combination: Saturday and Sunday by default, but also Friday and Saturday, Sunday only for a Middle East week, or no weekend at all for a seven-day schedule
- One date per line: a date may be followed by a name, such as
2026-10-01 National Day; comment lines starting with#and blank lines are allowed, and formats like2026/1/1are corrected with a note - A day in both lists counts as a make-up workday, which is the typical holiday-shift case
- No double subtraction or missed additions: a holiday that falls on a weekend is not subtracted again, only holidays on workdays are; only make-up days on weekends are added back. Both are listed separately in the summary for checking against official notices
- Lists stay local: the holiday and make-up lists are saved and still there next time
What the result includes
- Large headline figures plus a breakdown: calendar days, weeks and leftover days, workdays, ordinary workdays, make-up days, weekend rest, holiday rest, days subtracted and days added
- Weekday distribution: for each day of the week, how many days and how many are worked or rested, which makes schedule gaps easy to see
- Holidays and make-up days within the range: only those that actually fall inside it, not the whole year
- Workday list: every date spelled out; for very long ranges the tool states its 4000-day scan limit instead of truncating silently
- Copy the summary: plain text with the conventions stated, ready for an email or ticket; the calendar view can also copy or download a monthly CSV with date, weekday, type and name, ready for a spreadsheet
How dates are calculated
- Dates are converted to day counts from
1900-01-01and handled as integers, avoiding time zone, daylight saving and midnight boundary problems in date arithmetic, with leap years and month lengths determined by the Gregorian rules - Supports
1900-01-01through2999-12-31; out-of-range input is reported rather than wrapped around - The built-in 2026 list is a demonstration. For real work, check it against the official holiday notice for the year and edit the list accordingly
FAQ
- Is the 2026 holiday schedule accurate? The page ships a sample list. Actual holidays and make-up days follow the official annual notice; when checking, only the two text areas need editing
- Why does Excel NETWORKDAYS give a different answer? NETWORKDAYS only understands a holiday list and does not count make-up weekends as working days. In mainland China almost every year includes shifted holidays, and the difference is exactly those make-up weekend days. This page treats make-up days as their own category, so the numbers line up
- Should I include the start or end date? Decide what you are counting: for how many working days a project occupies, include both ends; for whole workdays between today and a delivery date, include neither; the everyday phrase within five workdays usually includes the start and excludes the end
- What if I only want the number of days between two dates? The calendar-day span in the summary is the answer; no subtraction needed
- Can it calculate working hours? No. This page works in whole days; half-day leave and flexible hours are out of scope
- Why is a day still a rest day after changing the weekend? If the holiday list marks it as a public holiday, the holiday outranks the weekend setting; if it also appears in the make-up list, it is treated as a working day
- Is anything uploaded? No. Date judgement, list parsing, calendars and CSV generation all run in the browser; no request is sent, and lists and inputs stay in local browser storage
- How do I get reminded of the date? This page tells you which day it is; to watch it approach, enter the result into the countdown timer or holiday countdown