Как рассчитать прошедшее время в секундах в VBA?

У меня есть 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#"в окне местных жителей.

почему это происходит? Как получить dtDuration равным 11 для 11 секунд, прошедших между началом и концом времени?

1 ответов


просто измените тип переменной на Long:

Dim dtDuration as Long

VBA преобразует численные результаты функций DateDiff в переменную с типом даты.