Notion Date Formulas: A Tested Cheat Sheet

Short answer

Use dateBetween to count days, weeks or months between two dates, dateAdd and dateSubtract to move a date, formatDate to show it your way and dateRange to join two dates. To check for today, compare both dates with formatDate: a date with a time isn’t equal to today().

Rather skip the setup? Our Weekly Planner 2027 is ready to use, $8 once.
Our Notion date formula test: days between, from today and a status, an is-today check with and without a time, and Overdue in our Weekly Planner

Try it: pick two dates

Each line is a formula from this guide with what Notion gives for your dates. Change Start or Due, add a time, or try one of the buttons. The math matches what we saw in our Notion test.

Today is November 6, 2026

  • dateBetween(prop("Due"), prop("Start"), "days") 25
  • dateBetween(prop("Due"), prop("Start"), "weeks") 3
  • dateBetween(prop("Due"), prop("Start"), "months") 0
  • dateBetween(prop("Due"), today(), "days") 14
  • dateAdd(prop("Start"), 7, "days") November 2, 2026
  • dateAdd(prop("Start"), 1, "months") November 26, 2026
  • formatDate(prop("Due"), ) November 20, 2026
  • prop("Due") == today() false
  • formatDate(prop("Due"), "YYYY-MM-DD") == formatDate(today(), "YYYY-MM-DD") false
  • week(prop("Due")) 47

Change a date, or try one of the buttons above.

1. Days, weeks or months between two dates

Our test table has a Start and a Due date. To count the days from one to the other, add a Formula property and paste this:

Days between
dateBetween(
  prop("Due"),
  prop("Start"),
  "days"
)

Put the later date first and the result is positive. Change "days" to "weeks" or "months" to count those. Notion counts whole units only:

Start to DueDaysWeeksMonths
October 20 to November 142530
October 1 to October 313040
January 31 to March 12941
October 31 to November 3, 2:30 PM300

A month counts once the same day of the month comes round, so October 20 to November 14 is still 0 months. The time on a date counts too: 3 days and 14 hours is 3 days.

2. Days until or since today

Swap Start for today() to count from today:

From today
dateBetween(
  prop("Due"),
  today(),
  "days"
)

On October 31 our test gave 14 for November 14, 0 for October 31 and -6 for October 25. A negative number means the date has passed. Use today(), not now(): now() includes the time of day, which can drop a day, as our countdown formula test showed.

To turn the number into a label you can filter and sort by, wrap it in ifs:

Status
lets(
  d, dateBetween(
    prop("Due"),
    today(),
    "days"
  ),
  ifs(
    empty(prop("Due")), "",
    d < 0, "Overdue",
    d == 0, "Today",
    d <= 7, "This week",
    "Later"
  )
)
A Notion table with Start and Due dates, Between days, From today and a Status of Overdue, Today, This week or Later
Our test table on October 31, sorted by Due. No dates leaves every formula empty.

3. Add or subtract days, weeks or months

dateAdd moves a date forward. This gives the date a week after Start:

Plus 7 days
dateAdd(
  prop("Start"),
  7,
  "days"
)

dateSubtract takes it back, and keeps the time if the date has one: November 3 at 2:30 PM minus 2 days gave November 1 at 2:30 PM.

Minus 2 days
dateSubtract(
  prop("Due"),
  2,
  "days"
)

The unit can be "days", "weeks" or "months". Adding a month to January 31 gave February 28: when the new month is shorter, Notion lands on its last day.

Notion formulas adding 7 days and 1 month to Start and taking 2 days off Due, with January 31 plus a month giving February 28
Plus 7 days, Plus 1 month and Minus 2 days on the same rows.

4. Format a date

formatDate turns a date into text in the pattern you give it:

Format
formatDate(
  prop("Due"),
  "MMMM D, YYYY"
)
PatternNovember 14, 2026 gave
"MMMM D, YYYY"November 14, 2026
"dddd"Saturday
"ddd, MMM D"Sat, Nov 14
"YYYY-MM-DD"2026-11-14
"h:mm A"12:00 AM, or 2:30 PM for a date with that time

A date with no time shows 12:00 AM for "h:mm A", so keep the time part for dates that have one.

Due dates in Notion formatted five ways: long date, weekday, short date with weekday, year-month-day and time
The same Due dates in five formats.

5. Date ranges: start, end and length

dateRange makes one range from two dates. Ours showed October 20, 2026 → November 14, 2026:

Range
dateRange(
  prop("Start"),
  prop("Due")
)

It works the other way too. Turn on End date in a Date property, here one called Trip, and dateStart and dateEnd pull out each end. The nights of a trip from December 20 to January 3 came to 14:

Nights
dateBetween(
  dateEnd(prop("Trip")),
  dateStart(prop("Trip")),
  "days"
)

6. Is the date today, or already past?

prop("Due") == today() looks like the obvious check, and it worked for a Due of October 31. But for October 31 at 6:00 PM it said false: a date with a time isn’t equal to today. Compare both dates as text instead:

Is today
formatDate(
  prop("Due"),
  "YYYY-MM-DD"
) ==
  formatDate(
    today(),
    "YYYY-MM-DD"
  )

That gave true for both. To check whether a date has passed, prop("Due") < today() was true only for October 25.

Equals today ticked only for a Due of October 31 without a time, Is today ticked for both October 31 dates, and Before today ticked for October 25
Equals today is prop("Due") == today(). Is today is the formatDate check.

7. Week number, weekday and month

A few functions pull one part out of a date as a number:

Questions

How do I count the days between two dates in Notion?

Use dateBetween with the later date first: dateBetween(prop("Due"), prop("Start"), "days"). In our test, October 20 to November 14 gave 25. Swap "days" for "weeks" or "months" to count those instead.

How do I add days to a date in a Notion formula?

dateAdd(prop("Start"), 7, "days") gives the date a week later, and dateSubtract goes back. Months work too: January 31 plus 1 month gave February 28 in our test.

Why is my Notion date formula a day off?

Usually because of a time. now() includes the time of day, so use today() for whole days. A date with a time also counts the hours, so a task due at 6 PM today isn’t equal to today().

How do I check if a date is today in Notion?

Compare both dates as text: formatDate(prop("Due"), "YYYY-MM-DD") == formatDate(today(), "YYYY-MM-DD"). It worked for a date with a time and without one. prop("Due") == today() only worked when the date had no time.

Do date formulas work on the free Notion plan?

Yes. Every formula on this page was tested in a workspace on the free plan.