Azure Logic Apps中如何将UTCNow()转换为PST时间生成时间戳
Azure Logic Apps 太平洋时区(PST)时间戳实现方案
错误用法原因说明
- 直接对
utcNow()做UTC-8算术运算报错:Azure Logic Apps不支持直接对时间类型返回值做算术运算,必须使用专用时间函数处理偏移 PTNow()输出与utcNow()一致:PTNow()不是Logic Apps的内置合法时区时间函数,运行时无法识别会默认返回UTC时间,因此结果无差异
推荐实现方式(自动适配夏令时)
使用内置的convertTimeZone()函数,自动处理太平洋时区冬夏令时切换(PST/PDT自动偏移),无需手动计算时差:
convertTimeZone(utcNow(), 'UTC', 'Pacific Standard Time', 'yyyyMMddHHmmss')
参数说明:
- 第一个参数为输入时间,直接传入
utcNow()获取当前UTC时间- 第二个参数为输入时间的所属时区,固定填
UTC- 第三个参数为目标时区的官方标识,北美太平洋时区固定填
Pacific Standard Time- 第四个参数为自定义时间格式,可根据文件名需求调整,比如用
yyyy-MM-dd_HH-mm-ss避免特殊字符
拼接文件名时直接将表达式放在@{}中嵌入即可,示例:@{concat('业务报表_', convertTimeZone(utcNow(), 'UTC', 'Pacific Standard Time', 'yyyyMMddHHmmss'), '.csv')}
备用实现方式(固定UTC-8偏移,不处理夏令时)
如果业务要求全年固定使用UTC-8偏移,不需要适配夏令时,可使用addHours()函数手动偏移:
addHours(utcNow(), -8, 'yyyyMMddHHmmss')
注意:该方式每年夏令时期间输出时间会比实际太平洋时区当地时间晚1小时,仅适用于特殊业务场景
内容的提问来源于stack exchange,提问作者Java
相关产品推荐
相关产品推荐

