DateDiff
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgDateDiff
- 最后更新: 2022-03-25
获取以指定时间间隔计量的两个日期之差
语法
declare function DateDiff ( byref interval as const string, byval serial1 as double, byval serial2 as double, byval firstdayofweek as long = fbUseSystem, byval firstdayofyear as long = fbUseSystem ) as longint用法
#include "vbcompat.bi"
result = DateDiff( interval, date_serial1, date_serial2 [, firstdayofWeek [, firstweekofyear ] ] )参数
interval
用于计量差值的时间单位(时间间隔)
date_serial1
起始日期序列
date_serial2
结束日期序列
firstdayofweek
一周的第一天
firstdayofyear
一年的第一天
返回值
返回 longint,对应两个日期序列之间的 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 | 在该年有4天的第一周 | fbFirstFourDays |
| 3 | 该年第一个完整周 | fbFirstFullWeek |
注意:对两个日期序列进行算术减法可得到天数差。
除非包含 vbcompat.bi 或 datetime.bi,否则编译器不会识别此函数。
示例
start GeSHi
vb
#include "vbcompat.bi"
Dim s As String, d1 As Double, d2 As Double
Line Input "Enter your birthday: ", s
If IsDate( s ) Then
d1 = DateValue( s )
d2 = Now()
Print "You are " & DateDiff( "yyyy", d1, d2 ) & " years old."
Print "You are " & DateDiff( "d", d1, d2 ) & " days old."
Print "You are " & DateDiff( "s", d1, d2 ) & " seconds old."
Else
Print "Invalid date"
End Ifend GeSHi
与 QB 的差异
- QB 中不存在。此函数出现在 Visual Basic 中。
另请参阅
返回 目录