DateDiff 函數
返回 Variant (Long) 的值,表示兩個指定日期間的時間間隔數目。
文法
DateDiff(interval, date1, date2[, firstdayofweek[,firstweekofyear]])
| 部分 |
描述 |
| interval |
必要。字串運算式,表示用來計算date1 和date2的時間差的時間間隔 |
| Date1□date2 |
必要;Variant (Date)。計算中要用到的兩個日期。 |
| Firstdayofweek |
可選。指定一個星期的第一天的常數。如果未予指定,則以星期日為第一天。 |
| firstweekofyear |
可選。指定一年的第一周的常數。如果未予指定,則以包含 1 月 1 日的星期為第一周。 |
設定
interval參數的設定值如下:
| 設定 |
描述 |
| yyyy |
年 |
| q |
季 |
| m |
月 |
| y |
一年的日數 |
| d |
日 |
| w |
一周的日數 |
| ww |
周 |
| h |
時 |
| n |
分鐘 |
| s |
秒 |
為了計算 date1 與date2相差的日數,可以使用“一年的日數”(y) 或“日”(d)。當
interval 是“一周的日數”(w) 時,DateDiff 返回兩日期間的周數。如果date1 是星期一,DateDiff 計算到date2 為止的星期一的個數。這個數包含date2 但不包含date1。不過,如果interval
是“周”(ww),則 DateDiff 函數返回兩日期間的“日曆周”數。由計算date1 與date2
之間星期日的個數而得。如果date2剛好是星期日,則
date2 也會被加進 DateDiff 的計數結果中;但不論date1是否為星期日,都不將它算進去。
如果 date1 比 date2
來得晚,則 DateDiff 函數的傳回值為負數。
如果 date1 或date2是日期文字,則指定的年份成為該日期的固定部分。但是,如果date1或
date2 用雙引號 (" ") 括起來,且年份略而不提,則在每次計算運算式date1或
date2 時,當前年份都會插入到代碼之中。這樣就可以書寫適用於不同年份的程式碼。
下邊My Code為例:
Dim StartDate As Date
Dim StartTime As Date
Dim EndDate As Date
Dim EndTime As Date
Dim CostDate As Long
Dim CostTime As Long
StartDate = Format(Trim(mrc.Fields(2)), "mm-dd HH:mm")
StartTime = Format(Trim(mrc.Fields(3)), "mm-dd HH:mm")
EndDate = Format(Trim(mrc.Fields(4)), "mm-dd HH:mm")
EndTime = Format(Trim(mrc.Fields(5)), "mm-dd HH:mm")
CostDate = DateDiff("n", Trim(StartDate), Trim(EndDate))
CostTime = DateDiff("n", Trim(StartTime), Trim(EndTime))
txtCosttime = Format(Str(CostTime / 60), "0.00")