閱讀英文

共用方式為


自訂或格式化流程中的日期和時間值

本文提供自訂或格式化 Power Automate 流程中的日期和時間值的步驟。

在流程中使用 Power Automate 日期和時間值時,您可能會發現日期和時間格式不符合預期,或者您可能希望自訂輸出的格式。 您可以透過將格式字串傳遞給 formatDateTime 函數來執行此操作。

格式化日期與時間

Power Automate 中的 formatDateTime() 函數使您能夠以各種顯示格式操作日期和時間值並設置其格式。 這也提供了一種跨不同時區處理資料和時間的簡單方法。

formatDateTime() 函數有兩個參數:

  • 時間戳記:時間戳記是需要格式化的日期和時間值。

    這可以是手動字串或動態內容。 手動輸入時,時間戳應遵循 ISO 8601 格式 ("yyyy-MM-ddTHH:mm:ssZ")。

  • 格式字串:格式字串會指定日期和時間的輸出格式。

    formatDateTime() 函數的格式字串參數可以是標準格式字串,也可以是自訂格式字串。

標準格式字串

標準格式字串會使用單一字元 (例如 d、g 或 G) 作為格式說明符。

範例

  • 格式字串 g 對應一般日期/時間模式 (短時間):

    formatDateTime('2009-06-15T13:45:30', 'g') // 傳回格式 6/15/2009 1:45 PM

  • 格式字串 D 對應長日期模式:

    formatDateTime('2009-06-15T13:45:30', 'D') // 傳回格式 2009 年 6 月 15 日星期一

關於使用標準日期和時間格式字串的詳細資訊和範例,請前往標準日期和時間格式字串

自訂格式字串

自訂格式字串是具有多個字元 (例如 M/dd/yyyy h:mm tt) 的任何字串,可以控制日期和時間值的月、日、年、小時、秒等的可見性、定位和精度。

範例

  • 格式字串 M/dd/yyyy h:mm tt 表示與標準格式字串相同的模式,例如標準格式字串 g 標準格式字串中所述:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy h:mm tt') // 傳回格式 6/15/2009 1:45 PM

  • 格式字串 HH:mm:ss tt 傳回 24 小時格式:

    formatDateTime('2009-06-15T13:45:30', 'M/dd/yyyy HH:mm:ss tt') // 傳回格式 6/15/2009 13:45:30 PM

  • 格式字串 hh:mm:ss tt 傳回 12 小時格式:

    formatDateTime('2009-06-15T13:45:30', 'yyyy/MM/dd hh:mm:ss tt') // 傳回格式 2009/06/15 1:45:30 PM

  • utcNow() 函數作為時間戳記以 UTC 格式自動取得目前的日期和時間,以及格式化字串 dd-MM-yyyy 以顯示日期和時間:

    formatDateTime(utcNow(), 'MMMM dd, yyyy, HH:mm') //以 2009 年 6 月 15 日 16:50 格式傳回當期日期時間

  • utcNow() 函數作為時間戳記以 UTC 格式自動取得目前的日期和時間,以及格式化字串 dd-MM-yyyy 以顯示日期但非時間:

    formatDateTime(utcNow(), 'dd-MM-yyyy') //以 15-06-2009 格式傳回當期日期時間

關於使用自訂日期和時間格式字串的詳細資訊和範例,請前往自訂日期和時間格式字串

在流程中使用

若要在流程中使用日期和時間值,請依照下列步驟操作。

  1. 在流程中,選擇要在其中輸入格式化日期和時間值的輸入欄位。

  2. 前往新增動態內容,然後選擇運算式索引標籤以開啟運算式編輯器。

  3. 輸入 formatDateTime()

    或者,在日期和時間函數下尋找。

  4. 提供要格式化的值,用單引弧括起來。

    可以使用動態內容,但不應用單引弧括起來。

  5. 提供格式字串,用單引號引起來。

  6. 完整的運算式應類似於以下範例:

    • formatDateTime('<your-value>', 'dd/MM/yyyy hh:mm tt')
    • formatDateTime('<dynamic-value>', 'dd/MM/yyyy hh:mm tt')

    「新增動態內容」連結和「運算式」標籤的螢幕擷取畫面。

  7. 選取確定

範例:使用動態內容

動態內容是由流程圖中的觸發程式和動作產生的變數。 它們使用戶能夠從前面的步驟中選擇欄位引用並編寫運算式。

此範例會演練一個簡單的流程,該流程演示如何將函數 formatDateTime() 用於動態內容。 此示例中使用的觸發程式是需要使用者輸入的手動觸發流程。

  1. 登入 Power Automate

  2. 設定流程的觸發程式 此範例使用日期作為輸入。

    1. 在左側瀏覽窗格中,選取建立>即時雲端流程

    2. 流程名稱欄位中輸入您的流程名稱。

    3. 選擇如何觸發此流程清單,選取手動觸發流程建立。

    4. 選取建立

    5. 選取手動觸發流程卡片。

    6. 參數索引標籤上,選擇新增輸入>日期”

    7. 在右側的欄位中,輸入 2023-10-22

      參數索引標籤中日期格式的螢幕擷取畫面。

  3. 新增傳送電子郵件 (v2)動作。

    1. 手動觸發程式卡片下方,選擇加號 (+) >新增動作

    2. 搜尋欄位中,開始輸入發送電子郵件 (v2),並在看到它時從清單中選擇。

    3. 選擇電子郵件中的正文欄位,然後選擇 fx (插入運算式)。

    4. 選擇動態內容

      此處顯示的動態內容與觸發程式相關。 它將觸發程式和需要採取的行動聯繫在一起。

    5. 動態內容上方的欄位中,開始輸入 formatDateTime ,然後在顯示時從下拉選單中選擇。

    6. 向下滾動動態內容清單,然後選擇觸發程式日期。 如果未顯示,請選擇查看更多

      此變數的動態內容來自觸發程式中的日期欄位。

    7. 根據所需的日期輸出格式提供格式字串 (用單引弧括起來)。 在此範例中,日期格式為 MM/dd/yyyy。

      完整運算式看起來像這樣:

      formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy')

      使用動態內容的 formatDatTime 函數的螢幕擷取畫面。

    8. 選取新增

  4. 參數索引標籤中,在收件者欄位中插入電子郵件,在主旨欄位中插入主題。

  5. 選取儲存

  6. 執行流程後,收到的電子郵件以指定的 MM/dd/yyyy 格式顯示日期。

轉換時區的範例

Power Automate 預設使用國際標準時間 (UTC)。 若要處理其他時區的日期和時間值,可以和 formatDateTimeconvertTimeZone 函數結合使用。

例如,若要以東部標準時間顯示目前時間,可以使用以下語法:

formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss') // 傳回針對東部標準時間調整的日期時間

有關日期和時間函數的詳細資訊,請選擇以下文章。