Skip to content

DateDiff


Gets the difference of two dates measured by a specified interval

Syntax

` 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

`

Usage

#include "vbcompat.bi"
result = DateDiff( interval, date_serial1, date_serial2 [, firstdayofWeek [, firstweekofyear ] ] )

Parameters

interval

the unit of time (interval) with which to measure the difference

date_serial1

starting date serial

date_serial2

end date serial

firstdayofweek

first day of the week

firstdayofyear

first day of the year

Return Value

Returns a longint corresponding to the number of intervals found between two Date Serials.

If date_serial1 > date_serial2, the result is negative.

Description

interval is specified as follows:

valueinterval
yyyyyears
qquarter(three months)
mmonths
wseven day periods
wwcalendar weeks
d,ydays
hhours
nminutes
sseconds

first_dayofweek Affects the counting when 'ww' interval is used.

valuefirst day of weekconstant
omittedsunday
0local settingsfbUseSystem
1sundayfbSunday
2mondayfbMonday
3tuesdayfbTuesday
4wednesdayfbWednesday
5thursdayfbThursday
6fridayfbFriday
7saturdayfbSaturday

first_weekofyear specifies which year (previous or next) that the week which spans the end of one year and the beginning of the next should included with.

valuefirst week of yearconstant
0local settingsfbUseSystem
1January 1's weekfbFirstJan1
2first weeks having 4 days in the yearfbFirstFourDays
3first full week of yearfbFirstFullWeek

Notice if you do an arithmetical subtraction of two date serials you get the difference in days.

The compiler will not recognize this function unless vbcompat.bi or datetime.bi is included.

Examples

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

Differences from QB

  • Did not exist in QB. This function appeared in Visual Basic.

See also

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft