如何计算VBA中的经过时间(以秒为单位)?

时间:2012-02-21 21:47:06

标签: vba datediff

我有2个字符串,strStartTime和strEndTime。

strStartTime =“12:32:54” strEndTime =“12:33:05”

我想知道strStartTime和strEndTime之间经过了多少秒,所以我这样做了:

Dim dtDuration as date
dtDuration = DateDiff("s", CDate(strStartTime), CDate(strEndTime))  

我得到的结果是当地观察窗口中的dtDuration =“#1/10/1900#”。

为什么会这样?如何在开始和结束时间之间经过的11秒内使dtDuration等于11?

1 个答案:

答案 0 :(得分:7)

只需将变量类型更改为Long:

Dim dtDuration as Long

VBA将DateDiff函数的数值结果转换为具有日期类型的变量。