Tou*_*eef 6 format time datetime reporting-services ssrs-2008
我想在SSRS报告中显示持续时间我的DB字段是SQL中的时间.它在SSRS中转换Timespan.
格式为:下午1:00 - 下午3:50
我怎样才能做到这一点 ?
Fields!StartTime.Value.ToString() + " PM - " +
Fields!EndTime.Value.ToString() + " PM" is not working..
Run Code Online (Sandbox Code Playgroud)
小智 16
这是Custom code在SSRS 的帮助下实现这一目标的一种可能方式.下面的示例没有详细介绍如何创建SSRS报告,但应该了解如何在SSRS中实现时间格式化.
分步过程:
dbo.Timespans使用SQL Scripts下提供的脚本创建一个名为的表.用一些数据填充它,如屏幕截图#1所示.
创建SSRS报告并使用该表dbo.Timespans作为数据源.参见截图#2.
单击Report菜单并选择Report Properties.选择Code左侧部分的选项卡.
将自定义代码文本框中SSRS自定义代码部分下给出的代码粘贴.单击确定.此代码采用timeSpan值和format字符串.然后它将格式化时间数据并作为字符串返回.参见截图#3.
右键单击时间列,然后选择在文本框中Expression...粘贴表达式.参考屏幕截图#4和#5.=Code.FormatTimeSpan(Fields!StartTime.Value, "hh:mm tt") + " - " +
Code.FormatTimeSpan(Fields!EndTime.Value, "hh:mm tt")Set expression for: Value
屏幕截图#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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
截图#1:

截图#2:

截图#3:

截图#4:

截图#5:

截图#6:
