Dates every two weeks from 1 August 2026
Starting on Saturday 1 August 2026, every two weeks stays on a Saturday: 15 August, 29 August, 12 September and so on. The twelfth date is 2 January 2027, exactly 154 days after the anchor.
The calendar
One standards-based all-day VEVENT per row, with exclusive next-day DTEND values and stable event identifiers.
Every date in the schedule
| 1 | 2026-08-01 | Saturday | 0 | Anchor date |
| 2 | 2026-08-15 | Saturday | 14 | Exact anchor day |
| 3 | 2026-08-29 | Saturday | 28 | Exact anchor day |
| 4 | 2026-09-12 | Saturday | 42 | Exact anchor day |
| 5 | 2026-09-26 | Saturday | 56 | Exact anchor day |
| 6 | 2026-10-10 | Saturday | 70 | Exact anchor day |
| 7 | 2026-10-24 | Saturday | 84 | Exact anchor day |
| 8 | 2026-11-07 | Saturday | 98 | Exact anchor day |
| 9 | 2026-11-21 | Saturday | 112 | Exact anchor day |
| 10 | 2026-12-05 | Saturday | 126 | Exact anchor day |
| 11 | 2026-12-19 | Saturday | 140 | Exact anchor day |
| 12 | 2027-01-02 | Saturday | 154 | Exact anchor day |
A two-week interval is exactly 14 days, so the weekday never changes.
Twelve dates contain eleven intervals, which is why the span is 154 rather than 168 days.
Each row becomes a separate all-day event in the downloadable calendar.
How it works
How it is done
- Parse the first date as a Gregorian calendar anchor, then bound the interval and requested occurrence count before allocating the schedule.
- For days and weeks, add a fixed number of UTC calendar days. For months and years, derive every candidate from the original year, month and day rather than from the previous result.
- If a candidate month lacks the anchor day, either use its final day or omit that candidate, exactly as selected. Continue until the requested number of actual dates has been produced.
- Write the rows as separate RFC 5545 all-day VEVENT components. DTSTART is the date itself, DTEND is the following date because an all-day end is exclusive, and every content line is folded at 75 UTF-8 octets.
What it assumes
- The calendar is Gregorian and date-only. There is no time of day, time zone, daylight-saving transition or reminder to infer.
- The first date counts as occurrence one. Twelve dates therefore contain eleven intervals, not twelve.
- Month-end mode never changes the anchor. January 31 can become February 28 and then return to March 31 because each candidate is derived from the original day 31.
- Skip mode skips a missing candidate, not an interval. It continues through later candidate months or years until the requested number of real dates exists.
- Calendar years beyond 9999 cannot be represented by RFC 5545's four-digit DATE value and are not emitted.
Common questions
Why does a twelve-date fortnightly schedule span only twenty-two weeks?
The first date is already occurrence one. Twelve dates have eleven gaps between them, and eleven two-week gaps make twenty-two weeks.
Will a fortnightly schedule ever change weekday?
No. Fourteen days is exactly two seven-day weeks, so every occurrence has the same weekday regardless of month or year boundaries.
Sources
The full method, worked example and every assumption behind this figure are on Recurring Date Schedule Maker.