DatePart Function

Access for Microsoft 365, Access 2019, Access 2016, Access 2013, Access 2010, Access 2007.

Returns a Variant (Integer) containing the specified part of a given date.

Warning   – There is an issue with the use of this function. The last Monday in some calendar years can be returned as week 53 when it should be week 1. For more information and a workaround, see Format or DatePart functions can return wrong week number for last Monday in Year.

Syntax

DatePart ( interval, date [firstdayofweek] [firstweekofyear)

The DatePart function syntax has these arguments:

ArgumentDescription
intervalRequired. String expression that is the interval of time you want to return.
dateRequired. Variant (Date) value that you want to evaluate.
firstdayofweekOptional. A constant that specifies the first day of the week. If not specified, Sunday is assumed.
firstweekofyearOptional. 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:

SettingDescription
yyyyYear
qQuarter
mMonth
yDay of year
dDay
wWeekday
wwWeek
hHour
nMinute
sSecond

The firstdayofweek argument has these settings:

ConstantValueDescription
vbUseSystem0Use the NLS API setting.
vbSunday1Sunday (default)
vbMonday2Monday
vbTuesday3Tuesday
vbWednesday4Wednesday
vbThursday5Thursday
vbFriday6Friday
vbSaturday7Saturday

The firstweekofyear argument has these settings:

ConstantValueDescription
vbUseSystem0Use the NLS API setting.
vbFirstJan11Start with week in which January 1 occurs (default).
vbFirstFourDays2Start with the first week that has at least four days in the new year.
vbFirstFullWeek3Start with first full week of the year.

Remarks

You can use the DatePart function to evaluate a date and return a specific interval of time. For example, you might use DatePart to calculate the day of the week or the current hour.

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

If date is a date literal, the specified year becomes a permanent part of that date. However, if date is enclosed in double quotation marks (” “), and you omit the year, the current year is inserted in your code each time the date expression is evaluated. This makes it possible to write code that can be used in different years.

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

The returned date part is in the time period units of the current Arabic calendar. For example, if the current calendar is Hijri and the date part to be returned is the year, the year value is a Hijri year.

Query examples

ExpressionResults
SELECT DatePart(“yyyy”,[DateofSale]) AS NewDate FROM ProductSales;Returns the ‘Year’ of the date values of the field “DateofSale”.
SELECT DatePart(“q”,[DateofSale]) AS NewDate FROM ProductSales;Returns the ‘Quarter’ (based on calender year) of the date values of the field “DateofSale”.
SELECT DatePart(“y”,[DateofSale]) AS NewDate FROM ProductSales;Returns the ‘Day of Year’ (1 to 365) of the date values of the field “DateofSale”.
SELECT DatePart(“d”,[DateofSale]) AS NewDate FROM ProductSales;Returns the ‘Day’ of the date values of the field “DateofSale”.
SELECT DatePart(“w”,[DateofSale]) AS NewDate FROM ProductSales;Returns the ‘Weekday’ (from 1 to 7 where 1 represents Sunday) of the date values of the field “DateofSale”.
SELECT DatePart(“ww”,[DateofSale]) AS NewDate FROM ProductSales;Returns the ‘Week number’ (from 1 to 52) of the date values of the field “DateofSale”.
SELECT DatePart(“h”,[DateTime]) AS NewDate FROM ProductSales;Returns the ‘Hour’ of the date values of the field “DateTime”.
SELECT DatePart(“n”,[DateTime]) AS NewDate FROM ProductSales;Returns the ‘Minutes’ of the date values of the field “DateTime”.
SELECT DatePart(“s”,[DateTime]) AS NewDate FROM ProductSales;Returns the ‘seconds’ of the date values of the field “DateTime”.

VBA example

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 takes a date and, using the DatePart function, displays the quarter of the year in which it occurs.Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date:")
Msg = "Quarter: " & DatePart("q", TheDate)
MsgBox Msg

See Also

Choose the right date function

This information was compiled using information courtesy of © Microsoft 2020. All rights reserved.

Leave a Reply

%d bloggers like this: