DateDiff Function

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

See some examples

Syntax

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

The DateDiff function syntax has these arguments:

Tip   In Access 2010, the Expression Builder has IntelliSense, so you can see what arguments your expression requires. 

Argument

Description

interval

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

date1, date2

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 intervalargument 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


Top of Page

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 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 double 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.

Note    For date1 and date2, if the Calendar property setting is Gregorian, the supplied date must be Gregorian. If the calendar is Hijri, the supplied date must be Hijri.

Top of Page

Examples

Use the DateDiff function in an expression     You can use the DateDiff function wherever you can use expressions. For example, suppose you have a form that you use to fulfill customer orders. In the Orders table, you have a field named ReceiveBefore that contains the date by which the customer needs to receive the order. You can use the DateDiff function with a text box on the form to display the number of days left before the order must ship.

Assuming it takes ten days to ship any order, you set the Control Source property of the text box as follows:

=DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10

When you open the form in Form view, the text box displays the number of days left before the order must ship. If there are less than 10 days left before the customer needs to receive the order, the number in the text box is negative and indicates how many days late the order will be if it is shipped immediately.

Use the DateDiff function in VBA code    

Note   Examples that follow demonstrate the use of this function in a Visual Basic for Applications (VBA) module. For more information about working with VBA, select Developer Reference in the drop-down list next to Search and enter one or more terms in the search box.

This example uses the DateDiff function to display the number of days between a given date and today.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Applies To: Access 2010, Access 2016 Preview, Access 2007, Access 2013 Developer, Access 2013, Access 2010 Developer, Access 2007 Developer



Was this information helpful?

Yes No

How can we improve it?

255 characters remaining

To protect your privacy, please do not include contact information in your feedback. Review our privacy policy.

Thank you for your feedback!

Support resources

Change language