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