我有一个显示当前日,月和年的expression
:
=Mid(Today(),1,9)
我如何显示当前日期之前的一周?因此,如果今天是6/26/2014
,它会在旁边的框中显示6/19/2014
。我尝试使用DateAdd
并添加-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
只需添加有关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())
我认为用“d”代替K D的回答DateInterval.Day,用FORMAT(Cdate(今天),“MM / dd / yyyy”代替今天())