如何在ssrs报表上格式化日期和时间?


133

在SSRS报告中,我需要显示 todays date and current time

我尝试了这个,=FormatDateTime(Now,"MM/dd/yyyy hh:mm tt")但是这给我一个错误是行不通的。

有人请帮我expression吗?

我想要输出显示像 4/12/2013 12:05 PM

Answers:



18

如果日期和时间在其自己的单元格(即文本框)中,则应考虑将格式应用于整个文本框。这将为其他格式创造更清洁的出口;特别是,该值将作为日期时间值而不是字符串导出到Excel。

使用属性窗格或对话框将文本框的格式设置为“ MM / dd / yyyy hh:mm tt”

如果datetime与另一个字符串连接,我只会使用Ian的答案。


4
对于可能会找到此答案的人来说,这是一个小小的附加组件:您将格式设置为="MM/dd/yyyy hh:mm tt"。如果您忘记了=,则每个单元格都将具有"MM/dd/yyyy hh:mm tt"文本形式。
user1261104'9

5

我在SSRS 2005中使用以下

=Format(Globals!ExecutionTime,"MM-dd-yyyy" & " ") 
& CStr(Hour(Globals!ExecutionTime))  & ":"
& CStr(Minute(Globals!ExecutionTime))

要么

=Format(Globals!ExecutionTime,"MM-dd-yyyy" & " ") 
& Right("00" & CStr(Hour(Globals!ExecutionTime)), 2)
& ":"
& Right("00" & CStr(Minute(Globals!ExecutionTime)), 2)

根据评论:

=Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy hh:mm.ss") 

要么

=Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy HH:mm.ss")

4
两者看起来都可能更简单:=Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy hh:mm.ss")=Format(CDate(Globals!ExecutionTime), "MM-dd-yyyy HH:mm.ss")
绝望的人

4

希望这可以帮助:

SELECT convert(varchar, getdate(), 100) -- mon dd yyyy hh:mmAM

SELECT convert(varchar, getdate(), 101) -- mm/dd/yyyy – 10/02/2008                  

SELECT convert(varchar, getdate(), 102) -- yyyy.mm.dd – 2008.10.02           

SELECT convert(varchar, getdate(), 103) -- dd/mm/yyyy

SELECT convert(varchar, getdate(), 104) -- dd.mm.yyyy

SELECT convert(varchar, getdate(), 105) -- dd-mm-yyyy

SELECT convert(varchar, getdate(), 106) -- dd mon yyyy

SELECT convert(varchar, getdate(), 107) -- mon dd, yyyy

SELECT convert(varchar, getdate(), 108) -- hh:mm:ss

SELECT convert(varchar, getdate(), 109) -- mon dd yyyy hh:mm:ss:mmmAM (or PM)

SELECT convert(varchar, getdate(), 110) -- mm-dd-yyyy

SELECT convert(varchar, getdate(), 111) -- yyyy/mm/dd

SELECT convert(varchar, getdate(), 112) -- yyyymmdd

SELECT convert(varchar, getdate(), 113) -- dd mon yyyy hh:mm:ss:mmm

SELECT convert(varchar, getdate(), 114) -- hh:mm:ss:mmm(24h)

SELECT convert(varchar, getdate(), 120) -- yyyy-mm-dd hh:mm:ss(24h)

SELECT convert(varchar, getdate(), 121) -- yyyy-mm-dd hh:mm:ss.mmm

SELECT convert(varchar, getdate(), 126) -- yyyy-mm-ddThh:mm:ss.mmm

4

在SSRS 2016中,属性标题“本地化”下有一个名为“ Calendar”的选项,如果单击此选项,则会为您提供以下两个选项:

  • 阳历(dd / mm / yyyy)
  • 格里高利英语(MM / dd / yyyy)

当引用表中的数据时,这也非常出色

或者,如果这对您不起作用,请在“数字”下的单元格“Format ”中:

dd/MM/yyyy 要么 MM/dd/yyyy

打印屏幕


1

如果单击报表中远离任何表的空白点,然后在属性中查找,则其他字段之一称为语言,它使您可以选择要设置的语言,这样做后可以使用该语言。

=FormatDateTime(now,x)

x可以是1,2,3,4,5


1

如果要分隔日期和时间,请使用以下表达式: 日期和时间表达式

当前日期的Expression1= formatdatetime(today) 其返回日期是=二零一六年十一月十五日

当前时间的Expression2= CDate(Now).ToString(“ hh:mm tt”) 其返回时间为= 3:44 PM

该报告打印在Expression2Expression1上

输出将是: 两个表达式的输出

该报告于20161115下午3:44打印


1
=Replace(Format(CDate(Now()),"MM.dd.yyyy"), ".", "/")

1

以下是我使用Visual Studio 2017针对以SSRS 2017为目标的RDL的方法:

右键单击设计图面上的文本框中的字段,然后选择“ 占位符属性”。选择“ 数字”面板,然后在“ 类别”列表框中单击“ 日期 ” ,然后在“ 类型”列表框中选择所需的格式。


1

首先转到控制面板,选择日期,时间和数字格式。现在,从下拉列表中选择“英语(英国)”。

确保保存日期字段等于“ dd / mm / yyyy”。按应用。现在转到SSRS,右键单击空白处的报告,然后选择属性。

如果使用的是Visual Studio,则将Language属性设置为= User!Language。

如果您使用的是Report Builder,则“语言”属性将显示在“本地化”部分中。



-5

您好朋友,请尝试使用此表达式您的报告

="Page " + Globals!PageNumber.ToString() + " of " + Globals!OverallTotalPages.ToString() + vbcrlf + "Generated: " + Globals!ExecutionTime.ToString()
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.