从当前日期减去天数

4

我有一个表达式,可以显示当前的天、月和年:

=Mid(Today(),1,9)

如何显示当前日期前一周的日期?如果今天是2014年6月26日,则在旁边的框中显示2014年6月19日。我尝试使用DateAdd并添加-7,但出现了错误。


1
在表达式编辑器中,您将使用DateAdd("d",-7,<your_date>),但在SQL中,您将使用DATEADD(DAY,-7,<your_date>); - Richard Hansell
我尝试了这个表达式,它完美地运行了。。 =DateAdd(DateInterval.Day, -7,Today()) - K D
我建议在报告中使用自定义代码创建一个函数,传递日期值并从该函数返回预期值。将其包装在Try Catch块中,在失败的情况下将异常作为字符串返回。然后您可以检查错误是什么。 - K D
3个回答

10

我在 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

我认为将 K D 的答案 DateInterval.Day 替换为 "d",将 Today() 替换为 FORMAT(Cdate(today), "MM/dd/yyyy") 会有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接