Skip to content

DateDiff


获取以指定时间间隔计量的两个日期之差

语法

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.bidatetime.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 If

end GeSHi

与 QB 的差异

  • QB 中不存在。此函数出现在 Visual Basic 中。

另请参阅

返回 目录

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系