自定义或格式化流中的日期和时间值
本文提供了在 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')
// 返回格式:星期一,6 月 15 日,2009
有关使用标准日期和时间格式字符串的更多信息和示例,请访问标准日期和时间格式字符串。
自定义格式字符串是具有多个字符的任何字符串(例如,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 PMutcNow()
函数用作时间戳以自动获取 UTC 格式的当前日期和时间,以及格式字符串dd-MM-yyyy
以显示日期和时间:formatDateTime(utcNow(), 'MMMM dd, yyyy, HH:mm')
// 返回当前日期时间,格式为 6 月 15 日,2009,16:50utcNow()
函数用作时间戳以自动获取 UTC 格式的当前日期和时间,以及格式字符串dd-MM-yyyy
以显示日期,但没有时间:formatDateTime(utcNow(), 'dd-MM-yyyy')
// 返回当前日期,格式为 15-06-2009
有关使用自定义日期和时间格式字符串的更多信息和示例,请访问自定义日期和时间格式字符串。
要在流中使用日期和时间值,请按照下列步骤操作。
在流中,选择要输入格式化日期和时间值的输入字段。
转到添加动态内容并选择表达式选项卡以打开表达式编辑器。
键入 formatDateTime()。
或者,在日期和时间函数下查找。
提供要格式化的值,用单引号括起来。
动态内容可以使用,但不应该用单引号括起来。
提供格式字符串,用单引号括起来。
完整的表达式应该如下例所示:
formatDateTime('<your-value>', 'dd/MM/yyyy hh:mm tt')
formatDateTime('<dynamic-value>', 'dd/MM/yyyy hh:mm tt')
选择确定。
动态内容是由流图中的触发器和操作产生的变量。 它们使用户能够从前面的步骤中选择字段引用并编写表达式。
此示例通过一个简单的流演示如何将 formatDateTime()
函数用于动态内容。 本例中使用的触发器是需要用户输入的手动触发流。
登录到 Power Automate。
设置流的触发器。 本示例使用日期作为输入。
在左侧导航窗格中,选择创建>即时云端流。
在流名称字段中输入流的名称。
在选择如何触发此流列表中,选择手动触发流。
选择创建。
选择手动触发流卡。
在参数选项卡上,选择+添加输入日期>日期。
在右侧的字段中,输入 2023-10-22。
添加发送电子邮件 (v2) 操作。
在手动触发流卡片下方,选择加号 (+) >添加操作。
在搜索字段中,开始键入发送电子邮件 (v2),看到后从列表中将其选中。
选择电子邮件中的正文字段,然后选择 fx(插入表达式)。
选择动态内容。
这里显示的动态内容与触发器相关。 它将触发器和需要采取的操作联系在一起。
在动态内容上方的字段中,开始键入格式日期时间,并在下拉菜单出现时将其选中。
向下滚动动态内容列表并选择触发日期。 如果其没有出现,请选择查看更多。
该变量的动态内容来自触发器中的日期字段。
根据所需的日期输出格式提供格式字符串(用单引号括起来)。 在本例中,使用了 MM/dd/yyyy 格式。
完整的表达式如下所示:
formatDateTime(triggerBody()?['date'], 'MM/dd/yyyy')
选择添加。
在参数选项卡的收件人字段中插入一封电子邮件,并在主题字段中插入一个主题。
选择保存。
运行流后,收到的电子邮件以指定的月/日/年格式显示日期。
Power Automate 默认使用协调世界时 (UTC)。 若要处理其他时区的日期和时间值,可以将 formatDateTime
与 convertTimeZone
函数结合使用。
例如,要以东部标准时间显示当前时间,可以使用以下语法:
formatDateTime(convertTimeZone(utcNow(), 'UTC', 'Eastern Standard Time'), 'yyyy-MM-dd HH:mm:ss')
// 返回根据东部标准时间调整的日期时间
有关日期和时间函数的更多信息,请选择以下文章。