我需要计算两次不同时间的差异。
例如,
time1 = 6:45 AM
time2 = 7:30 AM
然后,我需要将其转换为小时(整数)
所以在Basic Math中,这是:
timediff = time2 - time1
timediff = 0:45
timediff(in hrs) = 0 + (45/60)
timediff(in hrs) = 0.75
我需要在VBA中执行此操作。有人能帮我吗? 非常感谢!
答案 0 :(得分:5)
DateDiff()
计算此值(n
表示分钟数):
?DateDiff("n", "6:45", "7:30") / 60
0.75
答案 1 :(得分:0)
这是我在谷歌搜索VBA timediff时遇到的第一个打击:http://www.ozgrid.com/forum/showthread.php?t=45698&p=231656#post231656
我相信它应该以最小的修改做你想做的事。
该帖子中定义的UDF是:
Function TimeDiff(StartTime As Date, StopTime As Date)
TimeDiff = abs(StopTime-StartTime) * 86400
End Function
答案 2 :(得分:0)
这对我有用。经过大量的开始,看起来很简单。 结果值dtDuration(实际上是一个double)也用于更新表中的Hours(双)字段。
Dim dtDuration As Double
dtDuration = DateDiff("s", CDate(strStarTime), CDate(strCompTime))
Me.txtCalcHours.SetFocus
Me.txtCalcHours.Text = dtDuration / 3600