我在 SSRS 中的报告文本框有以下表达式
="TR1's Sent Between "+Format(dateadd(DateInterval.Day,1-WeekDay(Today), Today), "dd/MM/yyyy")
这将返回星期日而不是星期一。有谁知道如何显示当前星期一和当前星期五的日期?如果你能解释每个部分,让我理解格式,那就太好了
最佳答案
尝试使用这两个表达式:
对于 Mondays
你可以使用这样的东西:
=Format(Today.AddDays(1-WeekDay(Today,FirstDayOfWeek.Monday)),"dd/MM/yyyy")
对于星期五
,您可以使用:
=FORMAT(Today.AddDays(5-WeekDay(Today,FirstDayOfWeek.Monday)),"dd/MM/yyyy")
您的表达式的第一个问题是您没有在 WeekDay
函数中指定一周的第一天,如果您的表达式返回星期日日期,您的系统默认一周的第一天是星期日。
我的表达式采用今天的日期并加上/减去获得一周的第一天所需的天数:星期一。当我使用 FirstDayOfWeek.Monday
在我的表达式中设置一周的第一天时,它计算 1-1 = 0
它将在今天的日期中添加零天,因为今天是星期一(至少现在在哥伦比亚)。
对于星期五也是类似的,星期五是一周的第 5 天,因此您必须在今天的日期上加上/减去所需的天数才能得到它的日期。 5-1 = 4
(5 - 1 今天是星期几,考虑到星期一是第一天),现在只需将今天的日期加上 4 天即可返回星期五日期。
如果这有帮助,请告诉我。
关于reporting-services - 当前星期一和当前星期五的 SSRS 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219201/