# Visual Basic for Applications Reference

**Visual Studio 6.0**

# DateDiff Function

Returns a** Variant** (**Long**) specifying the number of time intervals between two specified dates.

**Syntax**

**DateDiff( interval, date1, date2**[

**[**

*, firstdayofweek***,**

**]]**

*firstweekofyear***)**

The **DateDiff** function syntax has these named arguments:

Part | Description |

interval | Required. String expression that is the interval of time you use to calculate the difference between and date1.date2 |

, date1date2 | Required; Variant (Date). Two dates you want to use in the calculation. |

firstdayofweek | Optional. A constant that specifies the first day of the week. If not specified, Sunday is assumed. |

firstweekofyear | Optional. A 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. |

**Settings**

The ** interval** argument has these settings:

Setting | Description |

yyyy | Year |

q | Quarter |

m | Month |

y | Day of year |

d | Day |

w | Weekday |

ww | Week |

h | Hour |

n | Minute |

s | Second |

The ** firstdayofweek** argument has these settings:

Constant | Value | Description |

vbUseSystem | 0 | Use the 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 |

Constant | Value | Description |

vbUseSystem | 0 | Use the NLS API setting. |

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

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

vbFirstFullWeek | 3 | Start with first full week of the year. |

**Remarks**

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

**, you can use either Day of year ("y") or Day ("d"). When**

*date2***is Weekday ("w"),**

*interval***DateDiff**returns the number of weeks between the two dates. If

**falls on a Monday,**

*date1***DateDiff**counts the number of Mondays until

**. It counts**

*date2***but not**

*date2***. If**

*date1***is Week ("ww"), however, the**

*interval***DateDiff**function returns the number of calendar weeks between the two dates. It counts the number of Sundays between

**and**

*date1***.**

*date2***DateDiff**counts

**if it falls on a Sunday; but it doesn't count**

*date2***, even if it does fall on a Sunday.**

*date1*If ** date1** refers to a later point in time than

**, the**

*date2***DateDiff**function returns a negative number.

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

If ** date1** or

**is a date literal, the specified year becomes a permanent part of that date. However, if**

*date2***or**

*date1**is enclosed in double quotation marks (" "), and you omit the year, the current year is inserted in your code each time the*

**date2****or**

*date1**expression is evaluated. This makes it possible to write code that can be used in different years.*

**date2**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.

** Note** For

**and**

*date1***, if the**

*date2***Calendar**property setting is Gregorian, the supplied date must be Gregorian. If the calendar is Hijri, the supplied date must be Hijri.