Learn how to use the formatDate function in Notion formulas.
The formatDate() function formats a date as a string using the Moment standard time format.
formatDate(date, string [must conform to Moment format])
It accepts two arguments in the following order:
  1. 1.
    A date (can be passed via properties - Date, Created Time, Last Edited Time - or via date functions such as now, fromTimestamp, dateAdd, dateSubtract)
  2. 2.
    A string specifying the Moment formatting for the date output

formatDate(now(), "MMMM DD YYYY") // Output: June 24 2022
formatDate(now(), "dddd, MMMM DD, YYYY hh:mm A zz")
// Output: Friday, June 24, 2022 10:45 AM MDT
You can also use brackets ([]) to escape any characters that you’d like to render explicitly (i.e. not use a Moment formatting commands):
formatDate(now(), "[Month of] MMMM, YYYY") // Output: Month of June, 2022
formatDate() uses Moment.js to do date formatting. By specifying the formatting options you want within the function’s second argument, you can customize your date format.
Refer to the Moment.js documentation so see all possible formatting options:
Format -

formatDate() returns a string, not a date. Therefore, it is not possible to do date math on its output.
Good to Remember: Notion formulas are picky about data types. The formula editor will almost never do automatic type conversion, so you must pass the correct data types when you use functions.
For example, you cannot use dateAdd or dateSubtract on the output of formatDate():
// ERROR: Type mismatch formatDate(now(), "MMMM DD YYYY") is not a Date.
dateAdd(formatDate(now(),"MMMM DD YYYY"),4,"months")
It is also very difficult to perform date comparisons using the output of formatDate(). While equality comparisons work well:
formatDate(now(), "MMM DD YYYY") == formatDate(prop("Date"), "MMM DD YYYY") is much more difficult to perform "earlier than" or "later than" comparisons.
Therefore, it is recommended to use functions such as timestamp, date, month, year, etc. to make these kinds of comparisons.
It is also not possible to create date-based filters in a database view using a formula property that outputs a date string via formatDate().
However, it is possible to work with the output of formatDate() using the Notion API.
For an example, see this recurring tasks tutorial that uses and the Notion API to parse the output of formatDate():
The Best Way to Create Recurring Tasks in Notion (2022)
Thomas Frank

This example database shows the numbered week of year that matches the date in the Date property. formatDate() uses Moment.js for date formatting.

College Info Geek on Notion

formatDate(prop("Date"), "wo")

formatDate(prop("Date"), "dddd, MMMM Do, YYYY, HH:mm A, wo [week of the year]")
The Detailed Format property demonstrates many of the available formatting options. To see all formatting options, visit the Moment.js reference.

My name is Thomas Frank, and I'm a Notion-certified writer, YouTuber, and template creator. I've been using Notion since 2018 to organize my personal life and to run my business and YouTube channel. In addition to this formula reference, I've created a free Notion course for beginners and several productivity-focused Notion templates. If you'd like to connect, follow me on Twitter.
Last modified 20d ago
Copy link
On this page
Example Formulas
Example Database
View and Duplicate Database
“Week” Property Formula
“Detailed Format” Property Formula