我正在尝试在报告中创建一个 Variable ,该变量返回日期范围如下所示的字符串:02-01-2018-01-31-2019
我尝试过以下表达式:
=FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddMonths(-12), DateFormat.ShortDate)
& " - " &
FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddDays(-1))
它给了我这个:2/1/2018-1/31/2019。
我不能在日期范围内使用/,因为我将变量用作Tablix的页面名称,当导出报表时,该变量最终将成为Excel中的Sheet [Tab]名称。 Excel似乎不接受工作表名称中的/。
简而言之,我需要能够动态创建一个12个月的日期范围,该日期范围在上个月的最后一个日期结束-它应该是一个类似于02-01-2018-01-31-2019的字符串
答案 0 :(得分:0)
您可以使用VB.NET .ToString 转换为所需的任何格式。
=TODAY.AddDays(-1).ToString("MM-dd-yyyy")
所以您的字符串应该是
=TODAY.AddMonths(-12).ToString("MM-dd-yyyy") & " - " & TODAY.AddDays(-1).ToString("MM-dd-yyyy")
答案 1 :(得分:0)
您可以指定自己的日期格式以使用:
=FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddMonths(-12), "MM-dd-yyyy")
& " - " &
FormatDateTime(DateSerial(Year(Now()), Month(Now()), “1”).AddDays(-1), "MM-dd-yyyy")
答案 2 :(得分:0)
如何?
= Today.AddDays(1-Today.Day).AddYears(-1).ToString("MM-dd-yyyy") & " - " & Today.AddDays(-Today.Day).ToString("MM-dd-yyyy")