You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power Automate中修改日期格式(Outlook邮件导出至Excel场景)

解决Power Automate中日期时间格式转换为dd-mmm-yyyy at hh:mm:ss IST的问题

要把你提取的UTC格式日期(比如27-07-2022T12:40:11+00:00)转换成目标格式,你需要结合Power Automate的时区转换函数和格式化函数来实现,具体步骤如下:

核心表达式说明

直接使用下面的表达式替换你原来映射到Excel日期列的动态内容即可:

formatDateTime(convertFromUtc(triggerBody()?['ReceivedTime'], 'India Standard Time'), 'dd-MMM-yyyy \a\t hh:mm:ss IST')

或者用单引号包裹字面量的写法(效果完全一致):

formatDateTime(convertFromUtc(triggerBody()?['ReceivedTime'], 'India Standard Time'), 'dd-MMM-yyyy \'at\' hh:mm:ss IST')

表达式拆解

  • convertFromUtc(..., 'India Standard Time'):把原始的UTC时间转换为印度标准时间(IST,UTC+5:30),确保时间是当地时区的正确值
  • formatDateTime(..., '<格式字符串>'):将转换后的时间格式化为你需要的样式:
    • dd:两位数的日期(比如27)
    • MMM:月份的英文缩写(比如Jul)
    • yyyy:四位数的年份(比如2022)
    • \a\t(或\'at\'):转义"at"这个字面量(因为a是默认的AM/PM格式符,必须转义才能显示成普通文本)
    • hh:mm:ss:12小时制的时分秒(如果需要24小时制,把hh改成HH即可)
    • IST:直接追加时区标识

操作步骤

  1. 打开你的Power Automate流程,找到写入Excel的步骤
  2. 点击原来映射日期的输入框,切换到表达式模式(点击输入框上方的fx按钮)
  3. 粘贴上面的表达式,把triggerBody()?['ReceivedTime']替换成你实际提取的邮件日期字段(比如你的流程里可能是items('Apply_to_each')?['ReceivedTime'],根据你的流程循环结构调整)
  4. 保存流程并测试,此时Excel里的日期就会显示为27-Jul-2022 at 18:10:11 IST这样的格式

额外优化(处理空值)

如果存在邮件日期为空的情况,可以加上空值判断避免流程报错:

if(empty(triggerBody()?['ReceivedTime']), '', formatDateTime(convertFromUtc(triggerBody()?['ReceivedTime'], 'India Standard Time'), 'dd-MMM-yyyy \a\t hh:mm:ss IST'))

内容的提问来源于stack exchange,提问作者Satish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 20:52:30