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