繁体   English   中英

如何在 SSRS 报告中以给定的字符串格式显示时间值?

[英]How to display time value in a given string format within SSRS report?

我想在 SSRS 报告中显示持续时间我的数据库字段是 SQL 中的时间。 它转换 SSRS 中的时间跨度。

格式为:下午 1:00 - 下午 3:50

我怎样才能做到这一点?

Fields!StartTime.Value.ToString() + " PM - "  + 
       Fields!EndTime.Value.ToString() + " PM" is not working..

这是借助 SSRS 中的Custom code实现此目的的一种可能方法。 以下示例并未 go 详细介绍创建 SSRS 报告的详细信息,但应了解如何在 SSRS 中实现时间格式化。

分步过程:

  1. 使用SQL Scripts下提供的脚本创建一个名为dbo.Timespans的表。 用一些数据填充它,如屏幕截图 # 1所示。

  2. 创建 SSRS 报告并使用表dbo.Timespans作为数据源。 参考截图# 2

  3. 单击Report菜单和 select Report Properties Select 左侧部分的Code选项卡。

  4. 粘贴自定义代码文本框中 SSRS 自定义代码部分下给出的代码。 单击确定。 此代码采用timeSpan值和format字符串。 然后它将格式化时间数据并以字符串形式返回。 参考截图# 3

  5. 右键单击时间列和 select Expression...粘贴表达式=Code.FormatTimeSpan(Fields.StartTime,Value: "hh.mm tt") + " - " + Code.FormatTimeSpan(Fields,EndTime:Value, "hh:mm tt")Set expression for: Value文本框中。 请参阅屏幕截图# 4和# 5

  6. 屏幕截图# 6显示了报告的执行。

希望有帮助。

SQL 脚本:

CREATE TABLE [dbo].[Timespans](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [StartTime] [time](7) NULL,
    [EndTime] [time](7) NULL,
CONSTRAINT [PK_Timespans] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY]
GO

SSRS 自定义代码:

public function FormatTimeSpan(timeSpanValue as TimeSpan, format as string) as string
    Dim dateValue as DateTime
    dateValue = new DateTime(timeSpanValue.Ticks)
    return dateValue.ToString(format)
end function

截图#1:

1

截图#2:

2

截图#3:

3

截图#4:

4

截图#5:

5

截图#6:

6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM