首页 > 解决方案 > 如何通过VBscript计算两个日期时间之间的持续时间

问题描述

如何通过VBscript计算两个日期时间之间的持续时间

日期 1 = 2021 年 1 月 22 日 11:43:38.000 日期 2 = 2021 年 1 月 22 日 14:32:38.000

结果应该是 HH:MM:SS

标签: datevbscript

解决方案


TimeSerial 和 FormatDateTime 返回将计算机的区域设置考虑在内的日期或时间。在我的欧洲计算机上,没有显示 AM 扩展名,因为我们使用 24 小时时间格式。

TimeSerial 的另一个问题是一旦超过 32767 秒就会溢出。

另一种方法可能是分别计算小时、分钟和秒的值。一个可能的解决方案可能是:

secValue = DateDiff("s",Date1,Date2)
hours = secValue \ 3600
hh = hours
if hours < 10 then
    hh = Right("0" & hours, 2)
end if
mm = Right("0" & (secValue - hours * 3600) \ 60, 2) 
ss = Right("0" & secValue mod 60, 2)
diff = hh & ":" & mm & ":" & ss
wscript.echo diff

推荐阅读