我有一个显示当前日期,月份和年份的expression
:
=Mid(Today(),1,9)
如何显示当前日期前一周?因此,如果今天为6/26/2014
,则会在旁边的框中显示6/19/2014
。我尝试使用DateAdd
并添加-7
,但这给了我一个错误。
答案 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()替换为