# Business days calculator: add working days to a date

> The deadline N business days after or before a start date, skipping weekends and the holidays you list, with the calendar days it spans.

Versi interaktif: https://www.calcopenly.com/id/datetime/working-days-deadline-calculator
Topik: Kalkulator tanggal dan waktu

Counting starts on the day after the start date. Each day that is neither a weekend day nor a listed holiday counts as one working day, and the nth such day is the deadline; going backwards works the same way from the day before. This is the convention of Excel's WORKDAY functions and NumPy's busday_offset. A holiday that falls on a weekend is skipped once, not twice.

It is used for payment terms, statutory response times, service-level targets and delivery estimates. Five working days after Friday, 18 December 2026, with Christmas Day and New Year's Day listed, is Monday, 28 December, 10 calendar days later. England and Wales also have a bank holiday on 28 December 2026, the substitute day for Boxing Day; list it and the deadline moves to Tuesday, 29 December.

Public holidays differ by country and region, so none are assumed: paste your own, one ISO date per line.

## Masukan

- **Start date**
- **Working days**
- **Direction** (pilihan: After the start, Before the start)
- **Weekend** (pilihan: Sat–Sun, Fri–Sat, Sun only)
- **Holidays**: One ISO date per line (YYYY-MM-DD), optionally followed by a name.
- **Count the start date as day 1**: Only applies when the start date is itself a working day.

## Hasil

- Deadline — hasil utama
- Hari dalam seminggu
- Calendar days (days)
- Weekend days skipped
- Holidays skipped
- Holidays in the way

## Rumus

$$
\text{deadline} = \text{the } n\text{-th day after the start that is neither a weekend day nor a holiday}
$$

## Contoh penyelesaian

### Five working days over Christmas

- Start date: 2026-12-18
- Working days: 5
- Direction: After the start
- Weekend: Sat–Sun
- Holidays: 2026-12-25 Christmas / 2027-01-01 New Year
- **Deadline: 2026-12-28**
- **Hari dalam seminggu: Monday**
- **Calendar days: 10 days**
- **Weekend days skipped: 4**
- **Holidays skipped: 1**
- **Holidays in the way: Christmas (Fri 25 Dec 2026)**
- Sumber pemeriksaan: numpy.busday_offset('2026-12-18', 5, roll='backward', holidays=[...]) = 2026-12-28; skipped days counted by hand on a 2026 calendar

### Starting on a Saturday

- Start date: 2026-01-17
- Working days: 1
- Direction: After the start
- Weekend: Sat–Sun
- **Deadline: 2026-01-19**
- **Hari dalam seminggu: Monday**
- Sumber pemeriksaan: numpy.busday_offset('2026-01-17', 1, roll='backward') = 2026-01-19

### Friday–Saturday weekend

- Start date: 2026-01-15
- Working days: 10
- Direction: After the start
- Weekend: Fri–Sat
- **Deadline: 2026-01-29**
- **Calendar days: 14 days**
- Sumber pemeriksaan: numpy.busday_offset('2026-01-15', 10, roll='backward', weekmask='1111001') = 2026-01-29

### Ten working days back over New Year's Day

- Start date: 2026-01-15
- Working days: 10
- Direction: Before the start
- Weekend: Sat–Sun
- Holidays: 2026-01-01
- **Deadline: 2025-12-31**
- **Hari dalam seminggu: Wednesday**
- **Holidays skipped: 1**
- Sumber pemeriksaan: numpy.busday_offset('2026-01-15', -10, roll='forward', holidays=['2026-01-01']) = 2025-12-31

### Counting the start date as day 1

- Start date: 2026-01-15
- Working days: 10
- Direction: After the start
- Weekend: Sat–Sun
- Count the start date as day 1: ya
- **Deadline: 2026-01-28**
- Sumber pemeriksaan: numpy.busday_offset('2026-01-15', 9, roll='forward') = 2026-01-28

## Pertanyaan

### How do I work out 10 business days from a date?

Count forward from the next day and skip weekends and public holidays. With no holidays in the way, 10 business days is two full working weeks, so from a weekday it lands on the same weekday 14 calendar days later: 10 business days after Thursday, 15 January 2026 is Thursday, 29 January. Each holiday on a weekday pushes the deadline one working day further.

### Is the start date counted as a business day?

Not by default. The first working day is the day after the start, the same as Excel's WORKDAY, so 1 business day after a Monday is Tuesday. Some contracts and procedures count the start date as day 1; switch on that option and 10 working days from Thursday, 15 January 2026 ends on Wednesday, 28 January instead of Thursday, 29 January.

### What if the start date falls on a weekend or holiday?

Counting still begins with the next working day, so the weekend adds nothing. 1 business day after Saturday, 17 January 2026 is Monday, 19 January, the same answer as from Friday, 16 January. With the start-date option on, a start that isn't a working day can't be day 1, and the calculator warns you.

### How many working days are in a month?

Between 20 and 23 weekdays before public holidays. February has exactly 20 in a common year and 20 or 21 in a leap year; a 30-day month has 20 to 22 and a 31-day month 21 to 23, depending on the weekday it starts on. A year of 261 weekdays, as in 2026, averages 21.75 per month.

### Seberapa akurat “Business days calculator: add working days to a date”?

Akurasi bergantung pada masukan dan asumsi metode. Aritmetika desimal memakai 50 digit signifikan, tetapi perkiraan, metode numerik dan data sumber bisa kurang presisi; pembulatan yang ditampilkan tidak menghilangkan batasan itu. Contoh penyelesaian yang diperiksa dengan sumber independen: 5. Misalnya, “Five working days over Christmas” diperiksa dengan numpy.busday_offset('2026-12-18', 5, roll='backward', holidays=[...]) = 2026-12-28; skipped days counted by hand on a 2026 calendar.

### Dari mana metode ini berasal?

Microsoft Excel WORKDAY.INTL function (same convention: the start date is not counted); NumPy busday_offset.

## Sumber

- [Microsoft Excel WORKDAY.INTL function (same convention: the start date is not counted)](https://support.microsoft.com/office/workday-intl-function-a378391c-9ba7-4678-8a39-39611a9bf81d)
- [NumPy busday_offset](https://numpy.org/doc/stable/reference/generated/numpy.busday_offset.html)
