The end()
function returns the end date from a date range. It accepts a single date argument.
end(date)
end()
is useful for obtaining the end date from a Date property which contains a date range.
When you pass a single date as the argument – i.e. from a Created Time/Last Edited Time property, or a timestamp – end()
simply returns that date.
Example Formula
// Assume a property "Date" exists, with
// a row value of June 23, 2022 → June 27, 2022
end(prop("Date")) // Outpuut: June 27, 2022
Date Math within start() and end()
It’s useful to note that date math functions like dateAdd and dateSubtract return a date object that does not contain a date range – even if their argument does include one.
When these functions are passed a date object that includes a range, they only use a start date.
For this reason, the following two formulas will return the exact same date:
// Assume a property "Date" exists, with
// a row value of June 23, 2022 → June 27, 2022
start(dateAdd(prop("Date"),30,"days")) // Output: July 23, 2022
end(dateAdd(prop("Date"),30,"days")) // Output: July 23, 2022
Therefore, you must use the end()
function within your date math function if you wish to operate on the end date in a date range:
// Assume a property "Date" exists, with
// a row value of June 23, 2022 → June 27, 2022
dateAdd(end(prop("Date")), 30, "days") // Output: July 27, 2022
Example Database
The example database below contains several events that are happening over multiple days. The Date Range property displays their start and end dates, while the Current State formula property determines whether the event has passed, is currently ongoing, or is still in the future.
Finally, both the Table and Board views of the database are grouped by the Current State formula’s three possible outputs.

View and Duplicate Database

“Current State” Property Formula
// Compressed
if(dateBetween(start(prop("Date Range")),now(),"days") > 0,"Future Events",if(dateBetween(end(prop("Date Range")),now(),"days") >= 0,"Currently Active","Past Events"))
// Expanded
if(
dateBetween(
start(
prop("Date Range")
),
now(),
"days"
) > 0,
"Future Events",
if(
dateBetween(
end(
prop("Date Range")
),
now(),
"days"
) >= 0,
"Currently Active",
"Past Events"
)
)
This formula uses a nested if-statement and dateBetween to first check if the current date (determined with the now function) is before the start of the event’s date range.
If it is not, the next level of the if-statement checks to see if the current date is before the end date of the date range (determined with end()
).
Other formula components used in this example:





