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:

         +-----+---------------------+
         |value|interval             |
         |yyyy |years                |
         |q    |quarter(three months)|
         |m    |months               |
         |w    | seven day periods   |
         | ww  |calendar weeks       |
         |d,y  |days                 |
         |h    |hours                |
         |n    |minutes              |
         |s    |seconds              |
         +-----+---------------------+
  

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

         +-------+-----------------+-----------+
         |value  |first day of week|constant   |
         |omitted|sunday           |           |
         |0      |local settings   |fbUseSystem|
         |1      |sunday           |fbSunday   |
         |2      |monday           |fbMonday   |
         |3      |tuesday          |fbTuesday  |
         |4      |wednesday        |fbWednesday|
         |5      |thursday         |fbThursday |
         |6      |friday           |fbFriday   |
         |7      |saturday         |fbSaturday |
         +-------+-----------------+-----------+

   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.

         +-----+-------------------------------------+---------------+
         |value|first week of year                   |constant       |
         |0    |local settings                       |fbUseSystem    |
         |1    |January 1's week                     |fbFirstJan1    |
         |2    |first weeks having 4 days in the year|fbFirstFourDays|
         |3    |first full week of year              |fbFirstFullWeek|
         +-----+-------------------------------------+---------------+

   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.

Example
   #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

Differences from QB
   * Did not exist in QB. This function appeared in Visual Basic.

See also
   * Date Serials

