从当前日期减去天数

问题描述 投票:2回答:3

我有一个显示当前日,月和年的expression

=Mid(Today(),1,9)

我如何显示当前日期之前的一周?因此,如果今天是6/26/2014,它会在旁边的框中显示6/19/2014。我尝试使用DateAdd并添加-7,但这给了我一个错误。

date reporting-services reportbuilder3.0
3个回答
7
投票

我在ReportBuilder中尝试了以下表达式,它工作得很好......

=DateAdd(DateInterval.Day, -7,Today())

如果您仍然收到错误,那么我建议在报告中使用自定义代码创建一个函数,并传递日期值并从该函数返回预期值。使用Try Catch块包装它并将异常作为字符串返回,以防它失败。然后你可以准确地检查什么是错误。看看这里的功能......

'在表达式中调用跟随函数,如=Code.SubstractDate(YourDateValue)

Function SubstractDate(InputDate As DateTime) As String
Try
   Return =DateAdd(DateInterval.Day, -7,InputDate).ToString() ' Use your own format as you like
Catch ex as Exception
 Return ex.Message
End Function

0
投票

只需添加有关DateAdd功能的更多信息:

要获得前一周的日期,只需在函数中减少7天(添加数字-7),如:

=DateAdd(DateInterval.Day, -7,Today())

您可以按照如下所示的类似方式添加/减少年份,季度等。只需将数字更改为所需的长度即可

=DateAdd(DateInterval.Year,-1,Today())

=DateAdd(DateInterval.Quarter,-1,Today())

=DateAdd(DateInterval.Month,-1,Today())

=DateAdd(DateInterval.DayOfYear,-1,Today())

=DateAdd(DateInterval.WeekOfYear,-1,Today())

=DateAdd(DateInterval.WeekDay,-1,Today())

=DateAdd(DateInterval.Hour,-1,Today())

=DateAdd(DateInterval.Minute,-1,Today())

=DateAdd(DateInterval.Second,-1,Today())

0
投票

我认为用“d”代替K D的回答DateInterval.Day,用FORMAT(Cdate(今天),“MM / dd / yyyy”代替今天())

© www.soinside.com 2019 - 2024. All rights reserved.