从当前日期减去天数

时间:2014-06-26 14:13:02

标签: date reporting-services reportbuilder3.0

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

=Mid(Today(),1,9)

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

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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())

答案 2 :(得分:0)

我认为用FORMAT(Cdate(today),“ MM / dd / yyyy”)将K D的答案DateInterval.Day替换为“ d”,并将Today()替换为