【问题标题】:How to calculate Duration of Time between two date time through VBscript如何通过VBscript计算两个日期时间之间的持续时间
【发布时间】:2021-01-25 18:24:55
【问题描述】:

如何通过VBscript计算两个日期时间之间的时间长度

日期 1 = 2021-01-22 11:43:38.000 日期 2 = 2021-01-22 14:32:38.000

结果应该是 HH:MM:SS

【问题讨论】:

  • 使用了 DateDiff 和 TimeSerial 得到了输出,但也将 AM 添加到了输出中。怎么去掉AM??
  • 我正在使用 vbscript 但工作完美..这里的问题是持续时间...如果持续时间少于 1 小时显示输出 12:32:00(实际持续时间 32 分钟),我得到持续时间(以秒为单位)跨度>
  • VB.NET 标记描述明确声明它不能用于 VBScript 问题。不要垃圾标签,因为它会浪费人们的时间。

标签: date vbscript


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我终于回答了我的问题感觉很棒

            Date1 = alA_Filling(0)
            Date2 = alA_Filling(1)
            secValue = DateDiff("s",Date1,Date2)  
            ts = TimeSerial(0, 0, secValue) 
            Duration = FormatDateTime(ts, vbLongTime)
    

    但我得到像 2:49:00 AM 这样的输出,为什么添加 AM 可能是这个 vbLongTime

    我怎样才能删除那个AM

    【讨论】:

      猜你喜欢
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 2020-12-25
      • 2014-02-28
      • 1970-01-01
      • 1970-01-01
      • 2019-05-14
      相关资源
      最近更新 更多