在本文中,我们将向您展示如何在 SSRS 报告中格式化日期和时间。这是用户经常提出的问题之一。因此,在这里我们将通过一个示例,向您展示在报表中使用文本框属性和表达式格式化日期和时间的步骤。
为了解释可用的 SSRS 日期格式和时间格式选项,我们将使用下面显示的报表数据集。请参考“嵌入式数据源”和“数据集”文章,以了解创建用于此 SSRS 报表的嵌入式数据源和数据集所涉及的步骤。
我们在上述数据集中使用的自定义SQL查询是
-- Formatting Date and Time on SSRS Report
SELECT [FirstName] + ' ' + [LastName] AS FullName
,[Education]
,[Occupation]
,[YearlyIncome]
,[Sales]
,[HireDate]
FROM [Employee]
在 SSRS 报告中格式化日期和时间
为了说明日期格式和时间格式选项的列表,我们将使用下面显示的报表。
请参考“表格报表”文章以了解创建表格报表的步骤,参考“格式化表格”文章以了解格式化。接下来,请参阅“添加页眉和页脚”以了解如何添加页眉和页脚。
我将向您展示报表预览。在这里,我们的任务是格式化报表中的“入职日期”列。我们有两种方法可以格式化 SSRS 中的日期和时间:一种是使用文本框属性,另一种是使用表达式。我将在下面解释第一种方法,稍后我们将展示第二种方法。
在 SSRS 报表中格式化日期和时间的第一种方法
要格式化日期,请选择包含日期值的文本框。在此示例中,选择报表的“入职日期”文本框,右键单击它将打开上下文菜单。请从中选择“文本框属性.” 选项。

单击“文本框属性.” 选项后,将打开一个新的“文本框属性”窗口。请选择“数字”选项卡,然后选择“日期”类别。
要格式化日期,请将默认日期时间格式更改为“2000 年 1 月 31 日星期一 下午 1:30”

从下面的屏幕截图中可以看到,我们的报表在“入职日期”列中显示了格式化的日期和时间。

再次,我将日期时间格式更改为“2000 年 1 月 31 日星期一下午 1:30:00”

从下面的屏幕截图中可以看到,我们的报表在“入职日期”列中显示了带 AM 和 PM 的日期和时间。希望您能理解日期格式。

这次,我们将尝试最短的日期格式“2000 年 1 月 31 日”

我们的报表预览以相同的格式显示入职日期。

如果观察“文本框属性”中的“数字”选项卡,我们会发现另一个名为“时间”的类别。此类别主要用于格式化时间。让我选择格式为“00 年 1 月 31 日下午 1:30”

我们的报表预览以相同的格式显示入职日期。

使用表达式在 SSRS 报表中格式化日期和时间
这是第二种方法,也是最先进的日期和时间格式化方法。
报表服务支持表达式,这是开发人员可用的一种主要概念。如果您期望的格式不在类别列表中,则可以使用表达式来编写自定义日期和时间。
请选择报表的“入职日期”文本框,右键单击它将打开上下文菜单。请从中选择“表达式.” 选项。

选择“表达式.” 选项后,将打开一个名为“表达式”的新窗口。在“类别”部分 -> “常用函数” -> “日期和时间”下,有许多日期和时间函数。我们可以使用任何函数或函数组合来实现所需的结果。在此示例中,我们将“入职日期”格式化为短日期。

您可以看到,“入职日期”列显示它包含的是一个表达式,而不是“入职日期”列名。

请看,我们的报表预览在“入职日期”列数据中显示了相同的内容。
