自動轉換 Microsoft Power 時區

徵狀

如果您是透過觸發程式中的 datetime 和動作,系統會在錯誤的時區中找到一個 datetime。 使用者可能會想要將時區(通常以 UTC)轉換為其當地時間。

原因

這是因為服務會透過不同的格式或時區來傳遞日期。 每個連接器都可能會使用不同的日期時間格式或時區。

某些服務會使用嚴格的 UTC 時間來避免混淆。 

解決方案

透過動作或運算式,有兩種方法可以解決此情況。 

使用動作

[電源自動化] 的內建運算稱為「轉換時區」。

搜尋「轉換時區」,然後選擇 [轉換時區] 操作。

Convert time zone action search in Power Automate

[轉換時區] 操作有幾個必要的輸入: 

Convert time zone action in Power Automate

基本時間:您想要轉換的日期時間。 來源時區:日期時間目前所在的時區。  [目的地時區]:您要將日期轉換成哪個時區。 

如需尋找目前時區的方法,請參閱下方的 [備忘稿]。

 

使用運算式

[電源自動化] 具有用於轉換時區的 expression 函數。

Convert time zone expression in Power Automate

convertTimeZone(timestamp: string, sourceTimeZone: string, destinationTimeZone: string, format?: string) Required. A string that contains the time. Converts a string timestamp passed in from a source time zone to a target time zone

您必須傳入下列各項: 

timestamp:您想要轉換的日期時間。  sourceTimeZone: datetime 目前所在的時區。 destinationTimeZone:您想要將日期轉換成哪個時區。 format (選用):您想要將日期轉換成哪個時區的格式。 

例如:

convertTimeZone(triggerBody()?['Date'],'UTC','Eastern Standard Time','HH:mm')

在這裡,timestamp 是 "triggerBody()?['Date']",來源時區是"UTC",目的地時區是"Eastern Standard Time",而格式則是"HH:mm".

如需此 expression 函數的詳細資訊,請參閱convertTimeZone 檔

 

注意事項

解密日期時間

Datetime 可能會有不同的格式。

如果日期時間的結尾有 "Z",表示它是 UTC 時間。 例如: 2020-04-10T01:28:14.0406387Z

如需日期時間格式的詳細資訊,請參閱標準日期和時間格式字串

您可能會收到錯誤,指出您的日期時間字串格式不正確(例如, 「日期時間字串必須符合 ISO8601 格式」。 請參閱formatDateTime 運算式檔,瞭解如何正確地格式化 datetime 字串。

 

 

檢查輸出的時區

如果您無法判斷日期時間時區目前的內容,您可以執行您的流程,以查看日期時間輸出格式。 

在這個範例中,「取得今天的預測」作業會輸出取得預測時的時間戳記。 

Convert time zone example in Power Automate

此 datetime 是使用 ISO-8601 datetime 格式。 我們可以看到這個作業會在 UTC 時區中輸出 datetime。

 

 

限制

在某些連接器上顯示時區的方式可能會受到限制。 如需每個連接器的詳細資料,請參閱連接器參考檔

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×