转换时区
本文提供了在 Power Automate 触发器或操作中将时区转换为目标时区的步骤。
当在 Power Automate 流中通过触发器和操作传递日期时间时,您可能会发现时区与您预期的不同,或者您可能希望将时区(通常是协调世界时 (UTC))转换为您的本地时间。 您可以使用转换时区操作或 convertTimeZone
表达式来完成此操作。
日期以不同的格式或时区通过服务传递,因此每个连接器可能使用不同的日期时间格式或时区。 一些服务严格使用 UTC 时间以避免混淆。
使用操作转换时区
Power Automate 有一个名为转换时区的内置操作。
登录到 Power Automate。
找到您的流并选择编辑以添加操作。
在搜索框中,键入转换时区并选择内置的转换时区操作。
为转换时区操作添加必需和可选输入。
- 基本时间:您要转换的日期时间。
- 源时区:日期时间当前所在的时区。
- 目的地时区:您要将日期转换到的时区。
- 格式字符串(可选):指定转换时间的所需格式的字符串。
有关查找当前时区的方法,请参阅本文的常见格式场景部分。
使用表达式转换时区
Power Automate 有一个表达式函数 convertTimeZone
,用于将时间戳从源时区转换为目标时区。
以下是控制台中的函数示例:
convertTimeZone(timestamp: string, sourceTimeZone: string, destinationTimeZone: string, format?: string)
该函数采用以下参数:
timestamp
:您要转换的日期时间。sourceTimeZone
:日期时间当前所在的时区。destinationTimeZone
:您要将日期转换到的时区。format
(可选):您要将日期转换为的时区格式。
示例:转换时区
本示例将时区转换为指定的时区和格式。
convertTimeZone('2018-01-01T80:00:00.0000000Z', 'UTC', 'Pacific Standard Time', 'D')
返回结果:Monday, January 1, 2018
。
示例:使用动态内容
这是在表达式中使用动态内容的一个示例。 这里,triggerBody()?['Date']
时间戳是您想要格式化的动态内容。 源时区为 UTC
。 目标时区为 Eastern Standard Time
。 该格式是自定义格式字符串 HH:mm
。
convertTimeZone(triggerBody()?['Date'],'UTC','Eastern Standard Time','HH:mm')
若要了解有关此表达式函数的更多信息,请访问 convertTimeZone。
要了解有关格式字符串参数的更多信息,请访问标准日期和时间格式字符串和自定义日期和时间格式字符串。
常见格式场景
本节涵盖各种场景以及如何应用适当的格式。
破译日期时间
日期时间可能有不同的格式。 如果您的日期时间末尾有一个
Z
,这意味着它是 UTC 时间。示例:
2020-04-10T01:28:14.0406387Z
您可能会收到一条错误消息,指出您的日期时间字符串格式不正确。
示例:“日期时间字符串必须与 ISO8601 格式匹配。”
若要了解有关如何正确设置日期时间字符串格式的详细信息,请转到 convertTimeZone。
检查输出的时区
如果您不确定日期时间时区当前的格式,您可以运行您的流并查看日期时间输出格式。
在本例中,获取今日预测操作输出您获取预测的时间戳。
此日期时间使用 ISO-8601 日期时间格式。 此操作输出 UTC 时区的日期时间。
将时间戳转换为 UTC 或从 UTC 转换时间戳
若要将时间戳从源时区转换为 UTC,或者从 UTC 转换为目标时区,请使用 convertFromUtc 和 convertToUtc 表达式函数。
限制
某些连接器可能对时区的显示方式有所限制。 要了解每个连接器的更多信息,请访问连接器参考概述。