範本下載處:點我下載
前言:為什麼需要這個 n8n 工作流程?
在自動化工作流程中,時間處理是一個常見需求,例如:
– 設定未來的日期時間(如 12 小時後的時間)
– 解析 ISO 格式的日期並轉換成其他格式
– 設定動態的時間變數(如當前時間、明天、上週等)
這篇教學將帶你一步步學習如何用 n8n 的 Date & Time 節點,搭配 Luxon Expressions,來靈活處理各種時間格式,讓你的自動化更加聰明!
—

基礎方法:使用 Date & Time 節點
n8n 的 Date & Time 節點提供兩種操作:
1. 計算日期:可以加減分鐘、時數、天數等。
2. 格式化日期:轉換日期格式,適應不同場景需求。
範例:取得 12 小時後的時間
1. 新增一個 `Date & Time` 節點
2. 設定:
– **Value**: `{{$now}}`(當前時間)
– **Action**: `Calculate`
– **Duration**: `12`
– **Time Unit**: `hours`
3. 這樣就能計算出「當前時間 + 12 小時」的結果!🎉
—

進階方法:使用 Expressions 來處理時間
除了 `Date & Time` 節點,你還可以使用 **Luxon** 內建的表達式 (`Expressions`) 來直接處理時間。這樣可以讓你的工作流程更靈活。
Luxon Expressions 教學
在 **Set 節點** 中,你可以這樣設定時間變數:
| 變數 | Expression |
|——|———–|
| **現在時間** | `{{$now}}` |
| **當前時間(包含秒數)** | `{{$now.toLocaleString(DateTime.TIME_WITH_SECONDS)}}` |
| **今天日期** | `{{$today}}` |
| **明天日期** | `{{$today.plus({days: 1})}}` |
| **一小時前的時間** | `{{$now.minus({hours: 1})}}` |
| **今天是星期幾** | `{{$today.weekdayLong}}` |
範例:取得特定時間格式
1. **新增一個 `Set` 節點**
2. 設定變數:
“`json
{
“Now”: “={{$now}}”,
“Current time formatted”: “={{$now.toFormat(‘MMMM dd yyyy’)}}”
}
“`
3. 這樣你就可以轉換時間格式,讓它變成 `February 21 2025` 這樣的格式!
—

進一步處理:解析 ISO 時間
n8n 會將時間以 **ISO 格式** 存儲,例如 `2025-02-21T10:00:00Z`。如果你需要重新解析它,你可以這樣做:
“`json
{
“Current time”: “={{DateTime.fromISO($json[“Now”])}}”,
“Formatted time”: “={{DateTime.fromISO($json[“Now”]).toFormat(‘yyyy LLL dd’)}}”
}
“`
這樣,你就能將 **ISO 時間轉換成不同格式**,適用於報表、自動化通知等用途。
—
快來試試看!
這篇教學介紹了如何在 **n8n** 中使用 `Date & Time` 節點來處理時間,並且示範了如何用 **Expressions** 來設定動態時間。希望這篇文章對你有幫助!💡
🔹 **試試看**:
– 設定「明天早上 9 點」的時間變數
– 把一個 ISO 日期轉換成 `YYYY/MM/DD` 格式
– 自動計算「下週一」的日期