如何在Salesforce中使用布尔公式判断日期是否处于过去12个月内?
Salesforce布尔公式:判断日期是否处于过去12个月内
没问题,我帮你整理一个精准的布尔公式来解决这个需求,还会对应你的例子场景做验证:
CloseDate > DATEADD(TODAY(), -12, 'month')
公式逻辑拆解
DATEADD(TODAY(), -12, 'month'):这个函数会自动计算当前日期往前推12个月的日期,它能智能处理月份天数差异(比如2月的28/29天)和闰年问题,比直接用TODAY()-365更准确,避免出现日期计算误差。- 使用大于号(
>)而非大于等于:正好匹配你给出的例子——当当前日期是2019-12-31时,DATEADD(TODAY(), -12, 'month')得到的是2018-12-31,而你的CloseDate是2020-12-31(属于未来日期),显然不满足“处于过去12个月内”的条件,公式返回false,完全符合你的要求。
如果你的需求是允许包含刚好满12个月的当天(比如CloseDate等于12个月前的日期也返回true),只需要把>改成>=即可:
CloseDate >= DATEADD(TODAY(), -12, 'month')
额外注意事项
- 如果你的字段是日期时间类型(而非纯日期),需要先用
DATEVALUE()函数提取日期部分再比较,比如:DATEVALUE(CloseDateTime) > DATEADD(TODAY(), -12, 'month') - 公式依赖
TODAY()函数,会随着系统日期自动更新,每次查看记录时都会重新计算结果,确保判断的时效性。
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

