Power Automate配置含前一个工作日(含美联储节假日)的邮件主题
Power Automate 邮件主题自动生成(含前一个有效工作日,排除美联储节假日)
下面这段Power Automate表达式,用来生成包含前一个有效工作日的邮件主题,会自动排除周末和2026-2027年美国联邦储备系统认可的节假日,部分逻辑是针对特定场景定制的:
concat( 'REVIEW: ', formatDateTime( if( or( equals(dayOfWeek(addDays(utcNow(), if(equals(dayOfWeek(utcNow()), 1), -3, if(equals(dayOfWeek(utcNow()), 0), -2, -1)))), 6), equals(dayOfWeek(addDays(utcNow(), if(equals(dayOfWeek(utcNow()), 1), -3, if(equals(dayOfWeek(utcNow()), 0), -2, -1)))), 0), contains( createArray('2026-01-01','2026-01-19','2026-02-16','2026-05-25','2026-06-19','2026-07-03','2026-09-07','2026-10-12','2026-11-11','2026-11-26','2026-12-25','2027-01-01','2027-01-18','2027-02-15','2027-05-31','2027-06-18','2027-07-05','2027-09-06','2027-10-11','2027-11-11','2027-11-25','2027-12-24'), formatDateTime(addDays(utcNow(), if(equals(dayOfWeek(utcNow()), 1), -3, if(equals(dayOfWeek(utcNow()), 0), -2, -1))), 'yyyy-MM-dd') ) ), addDays(utcNow(), if(equals(dayOfWeek(utcNow()), 1), -4, if(equals(dayOfWeek(utcNow()), 0), -3, -2))), addDays(utcNow(), if(equals(dayOfWeek(utcNow()), 1), -3, if(equals(dayOfWeek(utcNow()), 0), -2, -1))) ), 'MM-dd-yy' ) )
逻辑拆解:
- 初始日期计算:根据当前日期自动推算初始的“前一个工作日”
- 周一(dayOfWeek=1)→ 往前推3天(回到上周五)
- 周日(dayOfWeek=0)→ 往前推2天(回到上周五)
- 其他工作日→ 往前推1天
- 有效性校验:检查初始日期是否是周六(dayOfWeek=6)、周日(dayOfWeek=0),或者在预设的美联储节假日列表里
- 日期修正:如果初始日期无效,就再往前推1天,确保得到的是真正的有效工作日
- 主题生成:把格式化后的日期(
MM-dd-yy格式)拼在REVIEW:前缀后,生成最终的邮件主题
内容的提问来源于stack exchange,提问作者WackyWolverine
相关产品推荐
相关产品推荐

