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

Power Automate中Get Items筛选查询:字符串日期转格式与utcNow比较报错

Power Automate Get Items 字符串日期筛选解决方案

错误原因分析

你之前的尝试存在两个核心问题:

  1. 错误使用item():item()是用于循环处理Get Items返回结果的变量,不能直接在Get Items的筛选查询中使用——此时还未生成任何items数据。
  2. 字段名被当作字符串处理:你给字段名FSAGDate加了单引号,导致系统把它当成普通字符串'FSAGDate'处理,用split分割时只会得到一个元素的数组,自然出现索引越界错误。

解决方案一:直接在Get Items的OData筛选中转换日期

如果你的数据源(如SharePoint)支持OData的parseDateTime函数,可以直接在筛选查询中完成转换和筛选:

parseDateTime(FSAGDate, 'en-GB', 'dd/MM/yyyy') gt utcNow()
  • FSAGDate直接引用字段名,不要加引号
  • 'en-GB'对应你的日期格式dd/MM/yyyy(如果是MM/dd/yyyy格式则用'en-US')
  • utcNow()返回当前UTC时间,确保时间对比的一致性

解决方案二:先获取所有数据,再用Filter Array筛选

如果数据源不支持OData的日期转换函数,可通过后续步骤筛选:

  1. 添加Get Items操作,不设置任何筛选条件,获取所有项目
  2. 添加Filter Array操作,输入选择Get Items返回的value
  3. 在筛选条件中:
    • 左侧使用表达式转换日期:
      parseDateTime(item()?['FSAGDate'], 'en-GB', 'dd/MM/yyyy')
      
    • 条件选择is greater than
    • 右侧使用表达式:
      utcNow()
      
  4. 若FSAGDate是本地时间,需转成UTC再对比:
    convertToUtc(parseDateTime(item()?['FSAGDate'], 'en-GB', 'dd/MM/yyyy'), 'Greenwich Standard Time')
    

关键注意事项

  • 日期格式与区域设置必须匹配:dd/MM/yyyy对应en-GB,MM/dd/yyyy对应en-US,否则会解析失败
  • 若涉及时区差异,务必统一转成UTC时间后再对比,避免时间偏差
  • Get Items的筛选查询仅支持数据源兼容的OData函数,复杂转换优先用Filter Array处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 16:08:16