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.
Der Vorgang "Zeitzonen konvertieren " enthält einige erforderliche Eingaben:
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.
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.
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.