Returns the number of intervals between two dates.

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

The **DateDiff** function syntax has these parts:

*interval*- Required. String expression that is the interval you want to use to calculate the differences between
*date1*and*date2*. See Settings section for values. *date1, date2*- Required. Date expressions. Two dates you want to use in the calculation.
*firstdayofweek*- Optional. Constant that specifies the day of the week. If not specified, Sunday is assumed. See Settings section for values.
*firstweekofyear*- Optional. Constant that specifies the first week of the year. If not specified, the first week is assumed to be the week in which January 1 occurs. See Settings section for values.

The *interval* argument can have the following values:

Setting | Description |
---|---|

yyyy | Year |

q | Quarter |

m | Month |

y | Day of year |

d | Day |

w | Weekday |

ww | Week of year |

h | Hour |

n | Minute |

s | Second |

The *firstdayofweek* argument can have the following values:

Constant | Value | Description |
---|---|---|

vbUseSystemDayOfWeek | 0 | Use National Language Support (NLS) API setting. |

vbSunday | 1 | Sunday (default) |

vbMonday | 2 | Monday |

vbTuesday | 3 | Tuesday |

vbWednesday | 4 | Wednesday |

vbThursday | 5 | Thursday |

vbFriday | 6 | Friday |

vbSaturday | 7 | Saturday |

The *firstweekofyear* argument can have the following values:

Constant | Value | Description |
---|---|---|

vbUseSystem | 0 | Use National Language Support (NLS) API setting. |

vbFirstJan1 | 1 | Start with the week in which January 1 occurs (default). |

vbFirstFourDays | 2 | Start with the week that has at least four days in the new year. |

vbFirstFullWeek | 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, you might use **DateDiff** 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"). When *interval *is Weekday ("w"), **DateDiff** returns the number of weeks between the two dates. If *date1* falls on a Monday, **DateDiff** counts the number of Mondays until *date2*. It counts *date2* but not *date1*. If *interval* is Week ("ww"), however, 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 it doesn't count *date1*, even if it does fall on a Sunday.

If *date1* refers to a later point in time than *date2*, 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, the specified year becomes a permanent part of that date. However, if *date1* or *date2* is enclosed in quotation marks (" ") and you omit the year, the current year is inserted in your code 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 immediately succeeding year, **DateDiff** for Year ("yyyy") returns 1 even though only a day has elapsed.

The following example uses the **DateDiff** function to display the number of days between a given date and today:

Function DiffADate(theDate) DiffADate = "Days from today: " &`"d"`

DateDiff(`Now`

,`theDate`

,`End Function`

)