Microsoft Reporting Services -- 如何将毫秒转换为 dd:mm:ss 格式
Microsoft Reporting Services -- How to convert milliseconds to dd:mm:ss format
我的数据库中有一个毫秒值 (105823 ms),我想将其转换为 dd:hh:mm:ss 值。这是我能得到的最接近的是使用以下代码。
=Format(DateAdd("s",Fields!TimeSinceLastReset.Value , "00:00:00"), "dd:hh:mm:ss")
如果超过 dd 关闭,只要少于 24 小时,它就可以工作,它使用 12 小时而不是 24 小时。
我的结果是 02:05:23:43。我真的不需要秒只是 hh:mm 就可以了。时间可以超过 24 小时。
谢谢
我只会手动进行转换,而不是尝试让 DATEADD 和 FORMAT 按您需要的方式工作。 FORMAT 中的小时数永远不会显示为 0,也不会显示日期,因为您正在使用日期字段。 :(
你说 105823 毫秒,然后将其转换为秒。假设您的字段是秒,我会尝试使用 MOD 和 INT 对每个部分进行转换:
=RIGHT("00" & INT( Fields!TimeSinceLastReset.Value / 86400), 3) & ":" &
RIGHT("0" & INT( (Fields!TimeSinceLastReset.Value MOD 86400) / 3600), 2) & ":" &
RIGHT("0" & INT(((Fields!TimeSinceLastReset.Value MOD 86400) MOD 3600) / 60), 2) & ":" &
RIGHT("0" & INT(((Fields!TimeSinceLastReset.Value MOD 86400) MOD 3600) MOD 60), 2)
结果是
001:05:23:43
86,400 是一天中的秒数,3600 是一小时中的秒数。它使用 MOD 为每个后续时间字段获取先前计算的余数。
如果不想要天数,可以去掉MOD 86400
。
如果是毫秒,你可能需要将你的字段除以1000。
(Fields!TimeSinceLastReset.Value / 1000)
我的数据库中有一个毫秒值 (105823 ms),我想将其转换为 dd:hh:mm:ss 值。这是我能得到的最接近的是使用以下代码。
=Format(DateAdd("s",Fields!TimeSinceLastReset.Value , "00:00:00"), "dd:hh:mm:ss")
如果超过 dd 关闭,只要少于 24 小时,它就可以工作,它使用 12 小时而不是 24 小时。
我的结果是 02:05:23:43。我真的不需要秒只是 hh:mm 就可以了。时间可以超过 24 小时。
谢谢
我只会手动进行转换,而不是尝试让 DATEADD 和 FORMAT 按您需要的方式工作。 FORMAT 中的小时数永远不会显示为 0,也不会显示日期,因为您正在使用日期字段。 :(
你说 105823 毫秒,然后将其转换为秒。假设您的字段是秒,我会尝试使用 MOD 和 INT 对每个部分进行转换:
=RIGHT("00" & INT( Fields!TimeSinceLastReset.Value / 86400), 3) & ":" &
RIGHT("0" & INT( (Fields!TimeSinceLastReset.Value MOD 86400) / 3600), 2) & ":" &
RIGHT("0" & INT(((Fields!TimeSinceLastReset.Value MOD 86400) MOD 3600) / 60), 2) & ":" &
RIGHT("0" & INT(((Fields!TimeSinceLastReset.Value MOD 86400) MOD 3600) MOD 60), 2)
结果是
001:05:23:43
86,400 是一天中的秒数,3600 是一小时中的秒数。它使用 MOD 为每个后续时间字段获取先前计算的余数。
如果不想要天数,可以去掉MOD 86400
。
如果是毫秒,你可能需要将你的字段除以1000。
(Fields!TimeSinceLastReset.Value / 1000)