在 Notion 的函数中,我们可以通过一个日期属性加减日期来得到一个日期属性。在没有其他日期属性的情况下,我们怎么把一段年月日文本转换为日期属性函数呢?

函数生成日期属性

dateAdd(dateAdd(dateAdd(fromTimestamp(943891200000), 28, "days"), 3, "months"), 21, "years")

这是示例“生成 2021 年 3 月 28 日”的函数,其中 28,3,21 分别为日,月,年(减 2000),且支持2000年前的年份。注意要按照日、月、年的顺序增减,否则日期会出错。


有很多地方都可以用到这种做法,这里举例两个应用场景:

应用1:日期比较

日期先后比较

Notion 中的日期筛选器要选择一个较远的日期时,需要一个一个年份翻,此时就可以使用这样的日期比较函数,来获得一个是或不是的结果,放到筛选器里用。修改最后的<,>,或用<=,>=,分别表示你设定的日期之前,之后,当天或之前,当天或之后。也可以将两个函数合并为

dateBetween(prop("date1"), dateAdd(dateAdd(dateAdd(fromTimestamp(943891200000), 5, "days"), 3, "months"), 21, "years"), "minutes") > 0 

应用2:年月日文本→日期属性函数

年月日文本→日期属性函数