s-s-rS2016 将秒转换为 hh:mm:ss 格式

Posted

技术标签:

【中文标题】s-s-rS2016 将秒转换为 hh:mm:ss 格式【英文标题】:s-s-rS2016 Convert seconds to hh:mm:ss format 【发布时间】:2020-02-10 15:06:26 【问题描述】:

我有一个表,其中有一列 Duration 的值以秒为单位。

Visual Studio / s-s-rS 2016我想以HH:MM:SS格式显示。

我尝试使用以下表达式

=Format(DateAdd("s", Fields!Duration.Value, "00:00:00"), "HH:mm:ss")

但是好像没有正常工作,比如1800s会显示为01:38:00

有人能看出问题吗?

谢谢!

【问题讨论】:

我刚刚创建了一个简单的报告,您的表达方式符合我的预期。即 1800 返回为 00:30:00 。数据集中的持续时间列是什么数据类型? @AlanSchofield 您好,谢谢您的回复,数据类型是整数 您确定该值为 1800 吗?它应该可以正常工作。添加另一个带有表达式=Fields!Duration.Value 的文本框,并确保它返回您期望的内容。我预计不会。如果文本框的范围是聚合,例如 =SUM(Fields!Duration.Value),那么您需要在转换表达式中执行相同操作。 @AlanSchofield 它现在已经工作了,我应该在 ''Value'' 属性上应用这个表达式,但我试图改变数字格式。 感谢您的宝贵时间!但是我这里还是有问题,文本框按hh:mm:ss格式显示我想要的数字,但是从这个表生成的图表仍然显示1800s,我现在该怎么办? 【参考方案1】:

要将秒数转换为时间格式,请使用 TimeSerial 函数:

=Format(TimeSerial(0,0,Fields!Duration.Value),"HH:mm:ss")

你的方法的问题可能是它没有像你期望的那样隐式地从文本字符串转换为时间格式,所以下面的方法也可以工作:

=Format(DateAdd("s", Fields!Duration.Value, TimeValue("00:00:00")), "HH:mm:ss")

【讨论】:

这个我也试过了,还是返回01:38:00 尝试使用 CINT 将持续时间强制为整数 如果这仍然不起作用,请在同一范围内添加持续时间并检查它是否返回您认为的值。 它现在正在工作,我应该将此表达式应用于“值”属性,但我尝试更改数字格式。抱歉我的愚蠢问题,感谢您的帮助!

以上是关于s-s-rS2016 将秒转换为 hh:mm:ss 格式的主要内容,如果未能解决你的问题,请参考以下文章

PHP 将秒转换为hh:mm:ss

使用 Prometheus 和 Grafana 将秒转换为 HH:MM:SS

使用 JavaScript 将秒转换为 HH-MM?

仅在 javascript 中将 HH:MM:SS 字符串转换为秒

将秒转换为一天中的时间

将秒解析为 r 中的 mm.ss.00