Konvertieren der Zeitzone in Microsoft Power Automate

Dieser Artikel bietet eine Lösung für ein Problem, bei dem Sie eine DateTime in der falschen Zeitzone finden.

Gilt für: Power Automate
Ursprüngliche KB-Nummer: 4557244

Problembeschreibung

Wenn Sie datetimes über Trigger und Aktionen in Microsoft Power Automate übergeben, finden Benutzer möglicherweise eine DateTime in der falschen Zeitzone. Benutzer können die Zeitzone (häufig in UTC) in ihre Ortszeit konvertieren.

Ursache

Dies liegt daran, dass Dienste Datumsangaben in unterschiedlichen Formaten oder Zeitzonen übergeben. Jeder Connector kann ein anderes Datums-/Uhrzeitformat oder eine andere Zeitzone verwenden.

Einige Dienste verwenden ausschließlich UTC-Zeit, um Verwirrung zu vermeiden.

Lösung

Es gibt zwei Möglichkeiten, dies zu lösen – über eine Aktion oder einen Ausdruck.

Verwenden der Aktion

Power Automate verfügt über einen integrierten Vorgang namens "Zeitzone konvertieren".

Suchen Sie nach "Zeitzone konvertieren ", und wählen Sie den Vorgang " Zeitzone konvertieren " aus.

Screenshot zum Suchen nach der Zeitzonenkonvertierungsaktion in Power Automate.

Der Vorgang "Zeitzonen konvertieren " enthält einige erforderliche Eingaben:

Screenshot der erforderlichen Eingaben im Vorgang

Basiszeit: Die Datumsangabe, die Sie konvertieren möchten. Quellzeitzone: Die Zeitzone, in der sich die DateTime derzeit befindet. Zielzeitzone: Die Zeitzone, in die Sie Ihr Datum konvertieren möchten.

In den nachstehenden Notizen finden Sie Möglichkeiten, die aktuelle Zeitzone zu finden.

Verwenden des Ausdrucks

Power Automate verfügt über eine Ausdrucksfunktion zum Konvertieren der Zeitzone.

Screenshot zeigt, dass Power Automate über eine Ausdrucksfunktion zum Konvertieren der Zeitzone verfügt.

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

Sie müssen die folgenden übergeben:

timestamp: The datetime you wish to convert. sourceTimeZone: Die Zeitzone, in der sich die DateTime aktuell befindet. destinationTimeZone: Die Zeitzone, in die Sie Ihr Datum konvertieren möchten. format (optional): Das Format der Zeitzone, in die Sie Ihr Datum konvertieren möchten.

Beispiel:

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

Hier ist "triggerBody()?['Date']"zeitstempel , die Quellzeitzone ist UTC, die Zielzeitzone ist Eastern Standard Time, und das Format ist HH:mm.

Weitere Informationen zu dieser Ausdrucksfunktion finden Sie unter convertTimeZone.

Notizen

Entschlüsseln einer DateTime
Datetimes können in unterschiedlichen Formaten vorliegen.

Wenn Ihre DateTime ein Z am Ende hat, bedeutet dies, dass es in UTC-Zeit ist.

Beispiel: 2020-04-10T01:28:14.0406387Z

Weitere Informationen zu Datums-/Uhrzeitformaten finden Sie unter Standardzeichenfolgen für Datums- und Uhrzeitformate.

Möglicherweise werden Fehler angezeigt, bei denen die Datums-/Uhrzeitzeichenfolge nicht das richtige Format aufweist. Beispiel:

"Die Datums-Uhrzeit-Zeichenfolge muss mit dem ISO8601-Format übereinstimmen".

Weitere Informationen zum ordnungsgemäßen Formatieren der DateTime-Zeichenfolge finden Sie im FormatDateTime

Überprüfen der Zeitzone einer Ausgabe
Wenn Sie nicht sicher sind, in welcher DateTime-Zeitzone sich derzeit befindet, können Sie Den Fluss ausführen, um sich das DateTime-Ausgabeformat anzusehen.

In diesem Beispiel gibt der Vorgang " Prognose für heute abrufen " den Zeitstempel für den Zeitpunkt aus, an dem die Prognose abgerufen wurde.

Screenshot zeigt ein Beispiel für das Überprüfen des DateTime-Ausgabeformats.

Für diese DateTime wird das ISO-8601 DateTime-Format verwendet. Wir können sehen, dass dieser Vorgang die DateTime in der UTC-Zeitzone ausgibt.

Einschränkungen

Bei einigen Connectors gibt es möglicherweise Einschränkungen hinsichtlich der Anzeige der Zeitzone. Weitere Informationen zu den einzelnen Verbindern finden Sie in der Connectorreferenzübersicht.