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

Power Automate计算SharePoint Excel入职日期与今日日期差报错求助

解决Power Automate中日期差值计算表达式无效的问题

原表达式的错误点

  • 日期格式符错误:'yyy-MM-dd'缺少一个年份占位符,应为'yyyy-MM-dd',格式错误会导致formatDateTime生成无效日期,进而让ticks函数报错。
  • 字段引用错误:直接写DOJ无法被Power Automate识别为Excel表格中的字段,需要使用动态内容的正确引用格式。
  • (可选)若Excel中DOJ列是文本格式,未转换为日期对象会导致后续函数无法处理。

修正后的表达式

情况1:DOJ是日期格式的Excel字段(在循环中)

div(sub(ticks(formatDateTime(items('Apply_to_each')?['DOJ'], 'yyyy-MM-dd')), ticks(addDays(utcNow(), -1))), 864000000000)

情况2:DOJ是文本格式的Excel字段(先解析为日期)

div(sub(ticks(parseDateTime(items('Apply_to_each')?['DOJ'], 'yyyy-MM-dd')), ticks(addDays(utcNow(), -1))), 864000000000)

关键修正说明

  1. 格式符修正:将yyy改为yyyy,确保年份格式正确,formatDateTime能输出合法的日期字符串。
  2. 字段引用修正:通过items('Apply_to_each')?['DOJ']正确引用循环中当前行的DOJ字段(Apply_to_each是循环步骤的名称,需替换为你实际的循环名称)。
  3. 文本转日期:如果DOJ是文本类型,用parseDateTime先将其转换为日期对象,避免ticks函数因输入非日期值报错。

可选调整:计算DOJ与今日的差值

如果你的需求是计算入职日期到今日的天数,而非昨天,可将表达式调整为:

div(sub(ticks(utcNow()), ticks(formatDateTime(items('Apply_to_each')?['DOJ'], 'yyyy-MM-dd'))), 864000000000)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 20:50:28