Как рассчитать прошедшее время в секундах в VBA? - PullRequest
8 голосов
/ 22 февраля 2012

У меня есть 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 #" в окне просмотра Locals.

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

1 Ответ

7 голосов
/ 22 февраля 2012

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

Dim dtDuration as Long

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

...