簡體   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