Azure Logic Apps如何获取两天前日期所属月份的第一天
获取Azure Logic Apps中两天前日期所属月份的第一天
嘿,这事儿好办!你已经通过 @addDays(utcNow(), -2, 'yyyy-MM-dd') 拿到了两天前的日期,接下来只要结合Logic Apps的内置函数,就能直接得到目标日期。
最终表达式
直接用这一行就能完成需求:
@formatDateTime(startOfMonth(addDays(utcNow(), -2)), 'yyyy-MM-dd')
表达式拆解
我给你一步步解释这个表达式的逻辑:
addDays(utcNow(), -2):先计算出两天前的日期对象(这里不用提前格式化字符串,函数直接处理日期类型更可靠)startOfMonth(...):把上面得到的日期传进去,这个函数会返回该日期所属月份的第一天的日期对象formatDateTime(..., 'yyyy-MM-dd'):最后把结果格式化成你需要的yyyy-MM-dd字符串格式
验证你的示例
咱们对照你给的三个测试场景看看:
- 今日为
2022-08-01:addDays得到2022-07-29,startOfMonth返回2022-07-01,格式化后符合预期 - 今日为
2022-08-02:addDays得到2022-07-31,startOfMonth返回2022-07-01,结果正确 - 今日为
2022-08-03:addDays得到2022-08-01,startOfMonth返回2022-08-01,完全匹配需求
灵活扩展:如果用变量存储两天前的日期
如果你已经把两天前的日期存在了Logic Apps的变量里(比如变量名是TwoDaysAgoDate),可以直接调用变量来写表达式:
@formatDateTime(startOfMonth(variables('TwoDaysAgoDate')), 'yyyy-MM-dd')
内容的提问来源于stack exchange,提问作者Ritush
相关产品推荐
相关产品推荐

