DateDiff

Use the DateDiff function to return the number of intervals between two dates.

Syntax

DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])

Argument Description
interval Mandatory. String expression that is the interval you want to use to calculate the differences between date1 and date2.

The values are:

  • yyyy for year
  • q for quarter
  • m for month
  • y for day of year
  • d for day
  • w for day of week
  • ww for week
  • h for hour
  • n for minute
  • s for second
date1, date2 Mandatory. Date expressions. Two dates you want to use in the calculation.
firstdayofweek Optional. Constant that specifies the first day of the week. If not specified, then Sunday is assumed. The values are:
  • vbUseSystem or 0

    Use National Language Support (NLS) API setting

  • vbSunday or 1
  • vbMonday or 2
  • vbTuesday or 3
  • vbWednesday or 4
  • vbThursday or 5
  • vbFriday or 6
  • vbSaturday or 7.
firstweekofyear Optional. Constant that specifies the first week of the year. If not specified, then the first week is assumed to be the week in which January 1 happens.
  • vbUseSystem or 0

    Use National Language Support (NLS) API setting

  • vbFirstJan1 or 1

    Start with the week in which January 1 happens (default)

  • vbFirstFourDays or 2

    Start with the week that has at least four days in the new year

  • vbFirstFullWeek or 3

    Start with the first full week of the new year

You can use the DateDiff function to determine how many specified time intervals exist between two dates. For example, to calculate the number of days between two dates, or the number of weeks between today and the end of the year.

To calculate the number of days between date1 and date2, you can use either Day of year (y) or Day (d). For example, DateDiff(d, date1,date2) determines the number of days between date1 and date2. You must ensure that hard-coded dates are enclosed in quotation marks ("") as the function requires a text string.

When interval is Weekday (w), DateDiff returns the number of weeks between the two dates. If date1 falls on a Monday, then DateDiff counts the number of Mondays until date2. It counts date2 but not date1.

If interval is Week (ww), then the DateDiff function returns the number of calendar weeks between the two dates. It counts the number of Sundays between date1 and date2. DateDiff counts date2 if it falls on a Sunday; but not date1, even if it does fall on a Sunday.

If date1 refers to a later point in time than date2, then the DateDiff function returns a negative number.

The firstdayofweek argument affects calculations that use the w and ww interval symbols.

If date1 or date2 is a date literal, then the specified year becomes a permanent part of that date. If date1 or date2 is enclosed in quotation marks (" ") and you omit the year, then the current year is inserted in the code. It is inserted each time the date1 or date2 expression is evaluated. This makes it possible to write code that can be used in different years.

When comparing December 31 to January 1 of the next year, DateDiff for Year(yyyy) returns "1" even though only one day has elapsed.

Examples

This example returns the number of days between a given date and today:

Function DiffADate(theDate)
DiffADate = "Days from today: " & DateDiff("d", Now, theDate)
End Function

This example returns "2":

DateDiff("yyyy","01/01/2016","01/01/2018")

This example returns "4":

DateDiff("q","01/01/2016","01/01/2017")

This example returns "12":

DateDiff("m","01/01/2016","01/01/2017")

This example returns "365":

DateDiff("y","01/01/2016","01/01/2017")

This example returns "365":

DateDiff("dd","01/01/2016","01/01/2017")

This example returns "52":

DateDiff("w","01/01/2016","01/01/2017")

This example returns "52":

DateDiff("ww","01/01/2016","01/01/2017")

This example returns "8760":

DateDiff("h","01/01/2016","01/01/2017")

This example returns "525600":

DateDiff("n","01/01/2016","01/01/2017")

This example returns "31536000":

DateDiff("s","01/01/2016","01/01/2017")