获取以指定间隔测量的两个日期的差额
语法
用法
#include "vbcompat.bi"
result = DateDiff( interval , date_serial1 , date_serial2 [, firstdayofWeek [, firstweekofyear ] ] )
参数
interval
用于测量差异的时间单位(间隔)
date_serial1
起始日期序列号
date_serial2
结束日期序列号
firstdayofweek
一周的第一天
firstdayofyear
一年的第一天
返回值
返回与两个
日期序列号之间找到的
interval 个数相对应的整数。
如果
date_serial1 >
date_serial2 ,结果为负数。
说明
interval 指定如下:
值 | 间隔 |
YYYY | 年份 |
q | 季度(三个月) |
m | 个月 |
w | 七天时间 |
ww | 日历周 |
d,y | 天 |
h | 小时 |
n | 分钟 |
s | 秒 |
first_dayofweek 使用
'ww'间隔时会影响计数。
值 | 一周的第一天 | 不变 |
省略 | 星期日 | |
0 | 本地设置 | fbUseSystem |
1 | 星期日 | fbSunday |
2 | 星期一 | fbMonday |
3 | 星期二 | fbTuesday |
4 | 星期三 | fbWednesday |
5 | 星期四 | fbThursday |
6 | 星期五 | fbFriday |
7 | 星期六 | fbSaturday |
first_weekofyear 指定哪一年(上一个或下一个)跨越一年结束的那一周,下一个的开始应包括在内。
值 | 一年的第一周 | 不变 |
0 | 本地设置 | fbUseSystem |
1 | 1月1日的一周 | fbFirstJan1 |
2 | 第一周有四天在一年 | fbFirstFourDays |
3 | 一年的第一个整周 | fbFirstFullWeek |
注意,如果您对两个日期序列进行算术减法,则可以得到差异日期。
编译器将不会识别此函数,除非包含
vbcompat.bi或
datetime.bi.
例子
#include "vbcompat.bi"
Dim s As String, d1 As Double, d2 As Double
Line Input "输入你的生日:", s
If IsDate( s ) Then
d1 = DateValue( s )
d2 = Now()
Print "你是" & DateDiff( "YYYY", d1, d2 ) & "几岁"
Print "你是" & DateDiff( "d", d1, d2 ) & "几天"
Print "你是" & DateDiff( "s", d1, d2 ) & "几秒钟"
Else
Print "失效日期"
End If
与QB差别
- 在QB中不存在此函数出现在Visual Basic中。
参考