Notion Formula 2.0 § 日期公式常用篇

更新 發佈閱讀 14 分鐘

前言

之前我寫過一篇〈Notion 日期相關公式〉,隨著公式函數進入 2.0 時代,一些函數有了新增或調整,使得公式編輯更加精簡。

回想起我學習 SQL 時,最不喜歡的就是處理與「時間」相關的程式碼,因為日期格式繁多,處理起來相當麻煩。但很多資料的調用都與日期、時間有關,因此練習與時間相關的函數是非常重要。

下方圖片篩選出與日期時間相關的函數,詳細的函數列表可以參考〈Notion 函數指南〉。

vocus|新世代的創作平台

在編寫公式時,請注意每種不同的函數資料屬性,下面列出與日期相關,但輸出格式不是日期時間的函數:

  • 「文字」屬性:formatDate(date, text)
  • 「數字」屬性:dateBetween()timestamp(date)minute(date)hour(date)day(date)date(date)month(date)year(date)

昨天、今天、明天

💡 以下的公式顯示以 2024/09/08 19:30 為例

/* 昨天 */
dateAdd(now(), -1, "days")
dateSubtract(now(), 1, "days")

/* 今天 */
now()/* 顯示 September 8, 2024 7:30 PM */
today() /* 顯示 September 8, 2024 */

/* 明天 */
dateAdd(now(), 1, "days")

活用formatDate創造各種呈現方式

時間 Time

/* 顯示 7:30 PM */
formatDate(prop("日期時間"), "h:mm A")
formatDate(prop("日期時間"), "LT")

/* 顯示 7:30 pm */
formatDate(prop("日期時間"), "h:mm a")

/* 顯示 19:30 */
formatDate(prop("日期時間"), "H:mm")

/* 顯示 19 */
formatDate(prop("日期時間"), "k")

周幾 Weekday

/* 顯示數字,如:0 */
formatDate(prop("日期時間"), "d")

/* 顯示兩個英文字,如:Su */
formatDate(prop("日期時間"), "dd")

/* 顯示三個英文字,如:Sun */
formatDate(prop("日期時間"), "ddd")

/* 顯示全部英文字,如:Sunday */
formatDate(prop("日期時間"), "dddd")

日期 Date

/* 顯示 8 */
formatDate(prop("日期時間"), "D")

/* 顯示 08 */
formatDate(prop("日期時間"), "DD")

/* 該日期在今年的第幾天,如:2024/09/08,顯示 252 */
formatDate(prop("日期時間"), "DDD")

第幾周 Week

/* 從周日起算,如:2024/09/08,顯示 37 */
formatDate(prop("日期時間"), "w")

/* 從周一起算,如:2024/09/08,顯示 36 */
formatDate(prop("日期時間"), "W")

月份 Month

/* 顯示 9 */
formatDate(prop("日期時間"), "M")

/* 顯示 09 */
formatDate(prop("日期時間"), "MM")

/* 顯示 Sep */
formatDate(prop("日期時間"), "MMM")

/* 顯示 September */
formatDate(prop("日期時間"), "MMMM")

季度 Quarter

/* 顯示 3 */
formatDate(prop("日期時間"), "Q")

/* 顯示 03 */
formatDate(prop("日期時間"), "QQ")

年分 Year

/* 顯顯示 2024 */
formatDate(prop("日期時間"), "Y")
formatDate(prop("日期時間"), "YYYY")

/* 顯示 24 */
formatDate(prop("日期時間"), "YY")

時區 Timezone

/* 顯示該時區,如:GMT+8 */
formatDate(prop("日期時間"), "z")

/* 顯示該時區,如:+08:00 */
formatDate(prop("日期時間"), "Z")

/* 顯示該時區,如:+0800 */
formatDate(prop("日期時間"), "ZZ")

各種不同的日期顯示格式

/* 顯示 9/8/2024 */
formatDate(prop("日期時間"), "l")

/* 顯示 Sep 8, 2024 */
formatDate(prop("日期時間"), "ll")

/* 顯示 Sep 8, 2024 7:30 PM */
formatDate(prop("日期時間"), "lll")

/* 顯示 Sun, Sep 8, 2024 7:30 PM */
formatDate(prop("日期時間"), "llll")

/* 顯示 09/08/2024 */
formatDate(prop("日期時間"), "L")

/* 顯示 September 8, 2024 */
formatDate(prop("日期時間"), "LL")

/* 顯示 September 8, 2024 7:30 PM */
formatDate(prop("日期時間"), "LLL")

/* 顯示 Sunday, September 8, 2024 7:30 PM */
formatDate(prop("日期時間"), "LLLL")

關於「月份」的其他運算

該日期所在月份的第一天,如9月8日該月的第一天是9月1日

dateSubtract(prop("日期時間"), date(prop("日期時間")) - 1, "days")

該日期所在月份的最後一天,如9月8日該月的最後一天是9月30日

lets(
本月第一天, dateSubtract(prop("日期時間"), date(prop("日期時間")) - 1, "days"),
次月第一天, dateAdd(本月第一天, 1, "months"),
本月最後一天, dateSubtract(次月第一天, 1, "days"),
本月最後一天
)

日期所在月份總天數

lets(
本月第一天, dateSubtract(prop("日期時間"), date(prop("日期時間")) - 1, "days"),
次月第一天, dateAdd(本月第一天, 1, "months"),
本月最後一天, dateSubtract(次月第一天, 1, "days"),
本月總天數, date(本月最後一天),
本月總天數
)

該日期所在該月份的哪一周 (周一~週日)

lets(
日期, date(prop("日期時間")),
本月第一天, dateSubtract(prop("日期時間"), 日期 - 1, "days"),
星期幾, day(本月第一天),
第幾周, ceil((日期 + 星期幾 - 1) / 7),
第幾周
)

日期所在的月份總周數

lets(
日期, date(prop("日期時間")),
本月第一天, dateSubtract(prop("日期時間"), 日期 - 1, "days"),
次月第一天, dateAdd(本月第一天, 1, "months"),
本月最後一天, dateSubtract(次月第一天, 1, "days"),
ceil((date(本月最後一天) + day(本月第一天)) / 7)
)

時間區間的運算

時間區間包含幾小時、幾分鐘。

lets(
開始時間, dateStart(prop("日期時間")),
結束時間, dateEnd(prop("日期時間")),
小時, dateBetween(結束時間, 開始時間, "hours"),
分鐘, dateBetween(結束時間, 開始時間, "minutes") % 60,
小時 + " hr " + 分鐘 + " min"
)

時間區間包含幾天、幾小時、幾分鐘。

lets(
開始時間, dateStart(prop("日期時間")),
結束時間, dateEnd(prop("日期時間")),
天數, dateBetween(結束時間, 開始時間, "days"),
小時, dateBetween(結束時間, 開始時間, "hours"),
分鐘, dateBetween(結束時間, 開始時間, "minutes") % 60,
天數 + " dy " + 小時 + " hr " + 分鐘 + " min"
)

判斷日子

在處理 To Do List、GTD(Getting Things Done)或進行回顧(Review)時,經常需要自動化顯示特定時間段的內容。雖然 Notion 的篩選器可以達到部分效果,但如果能通過公式編寫,會有更大的靈活性與彈性。

/* 是否為"昨天" */
formatDate(prop("日期時間"), "L") == formatDate(dateSubtract(now(), 1, "days"), "L")

/* 是否為"今天" */
formatDate(prop("日期時間"), "L") == formatDate(today(), "L")

/* 是否為"明天" */
formatDate(prop("日期時間"), "L") == formatDate(dateAdd(now(), 1, "days"), "L")

/* 是否為"本周" (W 是周一~周日,w 是週日~周六)
多判斷 Y,是為了避免隔一年還會出現前一年的資料 */
formatDate(prop("日期時間"), "WY") == formatDate(now(), "WY")

/* 是否為"本月" */
formatDate(prop("日期時間"), "MY") == formatDate(now(), "MY")

/* 判斷是否為"今年" */
formatDate(prop("日期時間"), "YYYY") == formatDate(now(), "YYYY")

/* 判斷是否為"星期幾" */
formatDate(prop("日期時間"), "dddY") == formatDate(now(), "dddY")

/* 判斷現在的日期時間是否是在指定日期時間中 */
/* 法一:運用 formatDate() 格式化顯示方式 */
and(formatDate(now(), "L") >= formatDate(dateStart(prop("日期時間")), "L"), formatDate(now(), "L") <= formatDate(dateEnd(prop("日期時間")), "L"))

/* 法二:對日期直接運算,再判斷 */
and(now() >= dateStart(prop("日期時間")), now() <= dateAdd(dateEnd(prop("日期時間")), 1, "days"))

結語

我們回顧了常用的日期函數與基礎公式,並結合新函數進行編輯,另外,特別強調了「月份」相關的運算,主要因為下方有一道練習題,希望大家可以藉此體驗let()函數的靈活性。

練習題

vocus|新世代的創作平台


結合之前文章〈Notion Formula 2.0 § Progress Bar 進度條〉的內容,讓我們來練習製作「自動倒數進度條」。




簡單需求分析如下:

  1. 當天日期 now(),相對於年、月、週、日的倒數進度條。(如 2024.10.15 是 2024 年的第 288 天,約佔 79%)。
  2. 設計如圖中的進度條 + 時間區間樣式。

此練習題會在之後的文章公布我的答案,歡迎各位同好們將自己思路或編寫的公式與大家分享優❤️~

參考資料


留言
avatar-img
Chloe小窩
327會員
190內容數
小屋持續擴建ing~ 填充關於我的"從古至今"~ 喜歡這裡就加入小窩,成為守護天使吧🪽💕 讓小窩繼續成長 ✨
Chloe小窩的其他內容
2025/04/11
📘 有系統學習,才能走得更深、更穩。現在就開始,打造你的個人知識地圖吧!
Thumbnail
2025/04/11
📘 有系統學習,才能走得更深、更穩。現在就開始,打造你的個人知識地圖吧!
Thumbnail
2025/03/28
五種利用 Notion Formula 2.0 製作習慣追蹤熱力圖的方法,並針對每種方式說明資料庫與欄位的設置、公式、注意事項等。
Thumbnail
2025/03/28
五種利用 Notion Formula 2.0 製作習慣追蹤熱力圖的方法,並針對每種方式說明資料庫與欄位的設置、公式、注意事項等。
Thumbnail
2025/02/20
如何使用 Notion Formula 2.0 製作數據視覺化圖表的範例和練習,包含格子柱狀圖、直方圖、數值追蹤圖(似折線圖)和圓餅圖。
Thumbnail
2025/02/20
如何使用 Notion Formula 2.0 製作數據視覺化圖表的範例和練習,包含格子柱狀圖、直方圖、數值追蹤圖(似折線圖)和圓餅圖。
Thumbnail
看更多
你可能也想看
Thumbnail
透過 Formula 2.0 用 lets() 函數,編寫進度條的公式。
Thumbnail
透過 Formula 2.0 用 lets() 函數,編寫進度條的公式。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
若說易卜生的《玩偶之家》為 19 世紀的女性,開啟了一扇離家的窄門,那麼《海妲.蓋柏樂》展現的便是門後的窒息世界。本篇文章由劇場演員 Amily 執筆,同為熟稔文本的演員,亦是深刻體察制度縫隙的當代女性,此文所看見的不僅僅是崩壞前夕的最後發聲,更是女人被迫置於冷酷的制度之下,步步陷入無以言說的困境。
Thumbnail
LINE社群網友提出的一個問題,想要產生每個月月底與每個月14號的日期序列。 這個需求只需要一個函數就可以完成了😏 <▶️影音教學> 看教學影片之前可以先打開EXCEL,學中做、做中學效果更好哦。 <📝圖文教學> ✍🏾EDATE回傳日期指定月份數前或後的日期
Thumbnail
LINE社群網友提出的一個問題,想要產生每個月月底與每個月14號的日期序列。 這個需求只需要一個函數就可以完成了😏 <▶️影音教學> 看教學影片之前可以先打開EXCEL,學中做、做中學效果更好哦。 <📝圖文教學> ✍🏾EDATE回傳日期指定月份數前或後的日期
Thumbnail
上一集分享過EXCEL大小不同的合併儲存格如何建立流水編號或序號,這時候有網友發問了,大小不同的儲存格建立日期呢 沒問題直接來教學一波,不囉嗦直接附上影片,可以下載檔案一邊看一邊做學習效果更好唷 檔案下載 這個用法呢主要有兩個觀念,相對參照與絕對參照與CTRL+ENTER的運用 絕對
Thumbnail
上一集分享過EXCEL大小不同的合併儲存格如何建立流水編號或序號,這時候有網友發問了,大小不同的儲存格建立日期呢 沒問題直接來教學一波,不囉嗦直接附上影片,可以下載檔案一邊看一邊做學習效果更好唷 檔案下載 這個用法呢主要有兩個觀念,相對參照與絕對參照與CTRL+ENTER的運用 絕對
Thumbnail
看文章教學之前,可以先下載檔案來試著自己做看看哦!!! 檔案下載 有網友提問,如何將所有的平日加班與假日加班時數合計到K欄,假日加班為了註明星期幾加班,前面分別會加上六、日當作前贅詞。 只不過是加總而已,讓我直接SUM看看好了!!! 答案好像怪怪的,怎麼只有平日的數據加總而已
Thumbnail
看文章教學之前,可以先下載檔案來試著自己做看看哦!!! 檔案下載 有網友提問,如何將所有的平日加班與假日加班時數合計到K欄,假日加班為了註明星期幾加班,前面分別會加上六、日當作前贅詞。 只不過是加總而已,讓我直接SUM看看好了!!! 答案好像怪怪的,怎麼只有平日的數據加總而已
Thumbnail
Notion 是個功能強大的筆記和工作管理工具,可以根據不同的需求進行自定義。其中,使用 Formula 函數可以實現各種自動化和更多的數據操作。本篇文章中,我將向你展示如何使用 Formula 函數在 Notion 中顯示星期幾,在哪些情境下這個功能非常有用,提供實際演練,以及延伸應用。看下去囉。
Thumbnail
Notion 是個功能強大的筆記和工作管理工具,可以根據不同的需求進行自定義。其中,使用 Formula 函數可以實現各種自動化和更多的數據操作。本篇文章中,我將向你展示如何使用 Formula 函數在 Notion 中顯示星期幾,在哪些情境下這個功能非常有用,提供實際演練,以及延伸應用。看下去囉。
Thumbnail
只需要一個資料庫就可以做到各種不同的用途顯示 像紙本的五年手帳一樣,可以自動回顧「過去的今天」的日記模板要如何設定? 函數設定的思路與教學都在這邊了! 免費日記模板下載
Thumbnail
只需要一個資料庫就可以做到各種不同的用途顯示 像紙本的五年手帳一樣,可以自動回顧「過去的今天」的日記模板要如何設定? 函數設定的思路與教學都在這邊了! 免費日記模板下載
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
全新版本的《三便士歌劇》如何不落入「復刻經典」的巢臼,反而利用華麗的秀場視覺,引導觀眾在晚期資本主義的消費愉悅之中,而能驚覺「批判」本身亦可能被收編——而當絞繩升起,這場關於如何生存的黑色遊戲,又將帶領新時代的我們走向何種後現代的自我解構?
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
長期以來,西方美學以《維特魯威人》式的幾何比例定義「完美身體」,這種視覺標準無形中成為殖民擴張與種族分類的暴力工具。本文透過分析奈及利亞編舞家庫德斯.奧尼奎庫的舞作《轉轉生》,探討當代非洲舞蹈如何跳脫「標本式」的文化觀看。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
本文深度解析賽勒布倫尼科夫的舞臺作品《傳奇:帕拉贊諾夫的十段殘篇》,如何以十段殘篇,結合帕拉贊諾夫的電影美學、象徵意象與當代政治流亡抗爭,探討藝術在儀式消失的現代社會如何承接意義,並展現不羈的自由靈魂。
Thumbnail
在日常工作中,我們經常需要計算兩個日期之間的天數。無論是計算專案進行的天數、員工的工作天數,還是活動的剩餘天數,這些操作在EXCEL中都能輕鬆實現。 其實日期要計算天數超級簡單 日期天數=結束日期-開始日期+1 為什麼要+1呢? 可以讀一下這篇⬇️ 🔗EXCEL小知識 | 計算日期
Thumbnail
在日常工作中,我們經常需要計算兩個日期之間的天數。無論是計算專案進行的天數、員工的工作天數,還是活動的剩餘天數,這些操作在EXCEL中都能輕鬆實現。 其實日期要計算天數超級簡單 日期天數=結束日期-開始日期+1 為什麼要+1呢? 可以讀一下這篇⬇️ 🔗EXCEL小知識 | 計算日期
Thumbnail
在 Excel 中,日期和時間是常見的數據類型,因此經常需要進行日期計算和處理。為了方便使用者操作,Excel 提供了許多強大的日期函數。在這篇教學文章中,我們將介紹常用的日期函數及其應用。
Thumbnail
在 Excel 中,日期和時間是常見的數據類型,因此經常需要進行日期計算和處理。為了方便使用者操作,Excel 提供了許多強大的日期函數。在這篇教學文章中,我們將介紹常用的日期函數及其應用。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News