2015-02-12 26 views
-2

Мне нужно рассчитать разницу двух разных времен.Как рассчитать разницу во времени в VBA?

Например,

time1 = 6:45 AM 
time2 = 7:30 AM 

Тогда, мне нужно, чтобы преобразовать его в часах (целое число)

Так в Основном математике, это:

timediff = time2 - time1 
timediff = 0:45 

timediff(in hrs) = 0 + (45/60) 
timediff(in hrs) = 0.75 

мне нужно сделать это в VBA. Кто-нибудь может мне помочь? Спасибо большое!

ответ

0

Это был первый удар я получил на Google-поиск VBA TimeDiff: http://www.ozgrid.com/forum/showthread.php?t=45698&p=231656#post231656

Я считаю, он должен делать то, что вы хотите с минимальными изменениями.

ОДС определено в этом посте:

Function TimeDiff(StartTime As Date, StopTime As Date) 
    TimeDiff = abs(StopTime-StartTime) * 86400 
End Function 
4

DateDiff() вычисляет это (n указывает минут):

?DateDiff("n", "6:45", "7:30")/60 
0.75 
0

Это работает для меня. После множества приступов и запусков кажется простым. Значение результата dtDuration (фактически двойное) также используется для обновления поля Hours (double) в таблице.

Dim dtDuration As Double 
dtDuration = DateDiff("s", CDate(strStarTime), CDate(strCompTime)) 

Me.txtCalcHours.SetFocus 
Me.txtCalcHours.Text = dtDuration/3600 
Смежные вопросы