You need to calculate the next occurrence of a recurring event in a Notion database. Notion formulas do not have built-in support for recurring dates like a calendar app. This article shows how to build a formula that calculates the next occurrence date based on a start date and a recurrence interval in days.
You will learn to use the dateAdd and formatDate functions to create a working recurrence calculator. The example uses a weekly interval but you can adapt it for any number of days. This approach works for tasks, habits, or any event that repeats on a fixed schedule.
The formula outputs a date that updates automatically when the recurrence interval or the start date changes. No external integrations or scripts are required.
Key Takeaways: Build a Recurring Date Formula in Notion
- dateAdd(prop(“Start Date”), prop(“Interval Days”), “days”): Adds the interval to the start date to get the next occurrence.
- formatDate(prop(“Next Date”), “MMMM D, YYYY”): Displays the calculated date in a readable format.
- prop(“Interval Days”) as a Number property: Stores the recurrence interval in days, allowing flexible adjustments.
Understanding Notion Date Math for Recurrence
Notion formulas can add or subtract days from a date using the dateAdd function. The function takes three arguments: a date, a number to add, and a unit. The unit can be “days”, “weeks”, “months”, or “years”. For recurrence, you add the interval in days to the start date to get the next occurrence date.
The formula does not automatically loop or generate multiple future dates. It calculates one date based on the current values of the referenced properties. If the event repeats every 7 days, you set the Interval Days property to 7. The formula then outputs the start date plus 7 days.
You need three properties in your database: a Date property for the start date, a Number property for the interval in days, and a Formula property to output the next date. The formula property must be set to Date format in its property settings.
Steps to Build the Recurring Date Formula
Follow these steps to create the formula in your Notion database. The steps assume you have a database already open and you are in table view.
- Create the Start Date property
Add a new property to your database. Click the + button in the table header. Select Date as the property type. Name it “Start Date”. This property stores the date of the first occurrence. - Create the Interval Days property
Add another property. Select Number as the property type. Name it “Interval Days”. This property stores the number of days between recurrences. For a weekly event, enter 7. - Create the Next Date formula property
Add a third property. Select Formula as the property type. Name it “Next Date”. Click inside the formula editor. - Enter the formula
Type or paste the following formula into the editor:dateAdd(prop("Start Date"), prop("Interval Days"), "days")
This formula takes the Start Date, adds the number of days from Interval Days, and outputs a date. - Set the formula property format
After entering the formula, click the property name at the top of the formula editor. In the property settings, change the Format to Date. This ensures the output displays as a date and can be used in other date filters. - Test the formula
In any row, enter a date in the Start Date column. Enter 7 in the Interval Days column. The Next Date column should show the date seven days after the start date. Change the interval to 14 and the date updates immediately.
Common Mistakes and Limitations
The formula works only for a single recurrence from the start date. It does not calculate the next date after the current one passes. For a rolling recurrence, you need a different approach using a separate database or a manual update.
Formula shows “Invalid date” error
This error occurs when the Start Date property is empty or when the Interval Days property contains a non-number value. Ensure every row that uses the formula has a Start Date filled in. The Interval Days must be a positive number.
Formula outputs a date far in the future
If the Interval Days property is set to a very large number, the formula adds that many days. Keep the interval value reasonable. For daily recurrence, use 1. For weekly, use 7. For monthly, use 30 or the actual number of days in the month.
Formula does not update automatically
Notion formulas recalculate only when a referenced property changes. If you change the Start Date or Interval Days in another row, the formula updates for that row only. To refresh all rows, you can change a property in each row or use a button to trigger a recalculation.
Notion Date Functions for Recurrence: dateAdd vs dateSubtract
| Item | dateAdd | dateSubtract |
|---|---|---|
| Purpose | Adds a number of units to a date | Subtracts a number of units from a date |
| Syntax | dateAdd(date, number, unit) | dateSubtract(date, number, unit) |
| Use case | Calculating next occurrence from start date | Calculating previous occurrence or elapsed days |
| Unit options | “days”, “weeks”, “months”, “years” | “days”, “weeks”, “months”, “years” |
| Example | dateAdd(now(), 7, “days”) returns date 7 days from now | dateSubtract(now(), 7, “days”) returns date 7 days ago |
The dateAdd function is the correct choice for building a recurring event date forward in time. dateSubtract is useful for calculating how many days have passed since a previous event.
You can now calculate the next occurrence of a recurring event in Notion using the dateAdd function. The formula requires a Start Date property and an Interval Days property. To extend this, try adding a checkbox that resets the next date after you mark the event complete. For advanced recurrence patterns like every second Tuesday, you may need a separate database with multiple date properties.