Date Pattern Generator
Create lists of recurring dates by pattern (daily, weekly, monthly) with weekend and holiday handling.
Date Pattern Generator - Create Recurring Date Schedules
Our free Date Pattern Generator creates lists of recurring dates based on flexible recurrence patterns. Whether you need biweekly payday schedules, monthly meeting dates, daily standup calendars, or quarter-end review dates, this tool generates clean, exportable date lists with smart weekend handling.
How to Use the Date Pattern Generator
- Choose a Pattern: Select from seven recurrence patterns -- Every N Days, Every N Weeks, Every Working Day, Monthly on Day of Month, Monthly on Nth Weekday, Monthly on Last Weekday, or Custom Weekdays
- Configure Interval: Set the interval (e.g., 2 for biweekly, 3 for quarterly) and select weekdays or day-of-month as needed
- Set Start Date: Pick the date from which generation begins
- Set End Condition: Choose to stop after a number of occurrences or on/before a specific end date
- Pick Weekend Handling: Decide what happens when a generated date falls on a weekend -- keep it, roll forward, roll backward, or drop it
- Generate: View the complete schedule with weekday labels and adjustment notes
Recurrence Patterns Explained
- Every N Days: Emit a date every N calendar days. Set N=14 for biweekly, N=30 for monthly, or N=1 for daily. Pure interval arithmetic with no weekend adjustment unless the weekend rule is set to roll or drop.
- Every N Weeks (pick weekdays): Step forward N weeks and emit each selected weekday within that block. For example, N=2 with Friday selected gives you biweekly Fridays -- perfect for payday schedules.
- Every Working Day: Emit Monday through Friday only. Weekends are automatically excluded. Useful for business day schedules, trading calendars, and workday routines.
- Monthly on Day of Month: Emit a specific day of each Nth month. Day 1 for monthly rent, day 15 for mid-month reviews. If the day exceeds the month length (e.g., 31 in February), it is clamped to the last day.
- Monthly on Nth Weekday: Emit the Nth occurrence of a chosen weekday in each Nth month. For example, 2nd Tuesday for board meetings or 3rd Thursday for recurring team syncs.
- Monthly on Last Weekday: Emit the last occurrence of a chosen weekday each Nth month. The last Friday is a popular choice for retrospectives and quarter-end closes.
- Custom Weekdays: Emit selected weekdays every week. Choose Mon-Wed-Fri for exercise sessions or Tue-Thu for lecture series.
Weekend Handling Options
- Keep: Emit the date as-is even if it falls on a weekend. Use this for calendar-driven schedules where the exact date matters regardless of the day.
- Roll Forward: Move the date to the next working day (Monday). Common for payroll dates and service level agreements.
- Roll Backward: Move the date to the previous working day (Friday). Common for tax filing deadlines and some payroll conventions.
- Drop: Skip the occurrence entirely. Use this when you want strictly working-day schedules without shifting the rhythm.
Practical Use Cases
- Payroll and Payday: Generate biweekly Friday schedules or 1st-and-15th monthly dates with roll-backward weekend handling
- Rent and Billing: Monthly recurring dates with roll-forward handling for consistent invoicing
- Board Meetings: Monthly 2nd Tuesday schedules exported for calendar integration
- Sprint Planning: Every two weeks on Monday for team planning cadences
- Quarterly Reviews: Last Friday of March, June, September, and December for retrospectives
- Class Schedules: Mon-Wed-Fri or Tue-Thu recurring dates for academic planning
- Medication Reminders: Every N days for consistent dosing schedules
Related Tools
If you need to calculate the difference between two dates, try our Find Date Difference tool. For finding what day of the week a date falls on, use our Find Day of Week calculator. To add or subtract time from a date, check out the Date Calculator.
Frequently Asked Questions
How many dates can the generator produce?
Up to 500 occurrences per run. For longer schedules, generate the first batch, then re-run with a start date set to the day after your last result.
What happens when my pattern lands on a weekend?
You choose how weekend dates are handled. Keep emits the weekend date unchanged. Roll forward moves it to the next Monday. Roll backward moves it to the previous Friday. Drop removes that occurrence entirely. Each adjusted date is labeled in the output so you can see what happened.
What happens for short months when I set day-of-month to 31?
The day is automatically clamped to the last day of that month. A "31st of each month" pattern becomes February 28 (or 29 in leap years), April 30, and so on. This matches the behavior of most calendar applications.
Can I combine multiple recurrence rules?
Each run uses a single pattern. To combine rules (e.g., every 14 days but skip the second Friday), pick your primary pattern and note any exceptions. You can also generate multiple schedules separately and merge them manually.
How are Nth weekday occurrences calculated?
For "Monthly on Nth Weekday," the tool finds the Nth occurrence of the chosen weekday within each month. For example, the 2nd Tuesday is found by locating the first Tuesday and adding 7 days. If a fifth occurrence does not exist in a given month, it is skipped.