VB 计算时间差的函数DateDiff()

DateDiff 函数

           返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。

语法

    DateDiff(interval, date1, date2[, firstdayofweek[,firstweekofyear]])

        

部分 描述
interval 必要。字符串表达式,表示用来计算date1date2的时间差的时间间隔
Date1□date2 必要;Variant (Date)。计算中要用到的两个日期。
Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
firstweekofyear 可选。指定一年的第一周的常数。如果未予指定,则以包含 1 月 1 日的星期为第一周。

       

设置

interval参数的设定值如下:

设置 描述
yyyy
q
m
y 一年的日数
d
w 一周的日数
ww
h
n 分钟
s

       为了计算 date1date2相差的日数,可以使用“一年的日数”(y) 或“日”(d)。当 interval 是“一周的日数”(w) 时,DateDiff 返回两日期间的周数。如果date1 是星期一,DateDiff 计算到date2 为止的星期一的个数。这个数包含date2 但不包含date1。不过,如果interval 是“周”(ww),则 DateDiff 函数返回两日期间的“日历周”数。由计算date1date2 之间星期日的个数而得。如果date2刚好是星期日,则 date2 也会被加进 DateDiff 的计数结果中;但不论date1是否为星期日,都不将它算进去。

如果 date1 date2 来得晚,则 DateDiff 函数的返回值为负数。

      如果 date1 date2是日期文字,则指定的年份成为该日期的固定部分。但是,如果date1date2 用双引号 (" ") 括起来,且年份略而不提,则在每次计算表达式date1date2 时,当前年份都会插入到代码之中。这样就可以书写适用于不同年份的程序代码。

 

下边我的代码为例:

      

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")

      

你可能感兴趣的:(机房收费)