繁体   English   中英

如何计算VBA中的时差?

[英]How to calculate time difference in 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中执行此操作。 有人能帮我吗? 非常感谢!

DateDiff()计算此值( n表示分钟):

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

这是我在Google搜索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 

这对我有用。 经过多次试穿后,看起来很简单。 结果值dtDuration(实际上是double)也用于更新表中的Hours(double)字段。

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

Me.txtCalcHours.SetFocus
Me.txtCalcHours.Text = dtDuration / 3600

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM