Randall,以下是我发现在 SSRS 中工作的 VB 表达式,用于获取任何月份的第一天和最后一天,使用当前月份作为参考:
上个月的第一天:
=dateadd("m",-1,dateserial(year(Today),month(Today),1))
本月的第一天:
=dateadd("m",0,dateserial(year(Today),month(Today),1))
下个月的第一天:
=dateadd("m",1,dateserial(year(Today),month(Today),1))
上个月的最后一天:
=dateadd("m",0,dateserial(year(Today),month(Today),0))
本月的最后一天:
=dateadd("m",1,dateserial(year(Today),month(Today),0))
下个月的最后一天:
=dateadd("m",2,dateserial(year(Today),month(Today),0))
MSDN documentation for the VisualBasic DateSerial(year,month,day) function 说明该函数接受 year、month 和 day 参数的预期范围之外的值。这允许您指定有用的日期相关值。例如,Day 的值为 0 表示“上个月的最后一天”。这是有道理的:那是当月第 1 天的前一天。