Возвращает значение типа Variant (Integer), содержащее указанную часть заданной даты.
| Предупреждение Возникла проблема с использованием этой функции. Последний понедельник в некоторых календарных годах может быть возвращен как неделя 53, когда это должна быть неделя 1. Дополнительные сведения и способ решения этой проблемы см. в статье Функции Format и DatePart могут возвращать неправильный номер недели для последнего понедельника года. |
|---|
Синтаксис
DatePart(interval; date [, firstdayofweek] [, firstweekofyear] )
Аргументы функции DatePart описаны ниже.
| Аргумент | Описание |
|---|---|
| интервал | — обязательный аргумент. Строковое выражение, представляющее собой интервал времени, который необходимо вернуть. |
| дата | — обязательный аргумент. Значение Variant (дата), которое требуется оценить. |
| первый_день_недели | — необязательный аргумент. Константа, определяющая первый день недели. Если не указано, предполагается воскресенье. |
| первая_неделя_года | Необязательный аргумент. Константа, задающая первую неделю года. Если параметр не задан, первой неделей считается неделя, на которую приходится 1 января. |
Параметры
Аргумент интервала имеет следующие параметры:
| Параметр | Описание |
|---|---|
| yyyy | Год |
| q | Квартал |
| m | Месяц |
| y | День года |
| d | День |
| w | День недели |
| ww | Неделя |
| h | Часы |
| n | Минуты |
| s | Секунды |
Аргумент firstdayofweek имеет следующие параметры:
| Константа | Значение | Описание |
|---|---|---|
| vbUseSystem | 0 | Используются параметры API NLS. |
| vbSunday | 1 | Воскресенье (по умолчанию) |
| vbMonday | 2 | Понедельник |
| vbTuesday | 3 | Вторник |
| vbWednesday | 4 | Среда |
| vbThursday | 5 | Четверг |
| vbFriday | 6 | Пятница |
| vbSaturday | 7 | Суббота |
Аргумент firstweekofyear имеет следующие параметры:
| Константа | Значение | Описание |
|---|---|---|
| vbUseSystem | 0 | Используются параметры API NLS. |
| vbFirstJan1 | 1 | Начинается с недели, на которую приходится 1 января (по умолчанию). |
| vbFirstFourDays | 2 | Первой неделей считается та, которая содержит хотя бы четыре дня нового года. |
| vbFirstFullWeek | 3 | Первой неделей считается первая полная неделя года. |
Замечания
Функцию DatePart можно использовать для оценки даты и возврата определенного интервала времени. Например, с помощью функции DatePart можно вычислить день недели или текущий час.
Аргумент firstdayofweek влияет на вычисления, в которых используются символы интервалов "w" и "ww".
Если дата является литералом даты, указанный год становится постоянной частью этой даты. Однако если дата заключена в двойные кавычки (" ") и пропущена год, текущий год вставляется в код при каждом вычислении выражения даты . Это позволяет писать код, который можно использовать для разных лет.
Примечание
Если в свойстве Calendar задан григорианский календарь, аргумент дата следует указывать соответствующим образом. Если используется календарь Хиджра, дата должна соответствовать ему.
Возвращаемая часть даты представляет собой единицы периода времени текущего арабского календаря. Например, если текущим календарем является Хиджра, а возвращаемой частью даты — год, значение года будет соответствовать году в календаре Хиджра.
Примеры запросов
| Выражение | Результаты |
|---|---|
| SELECT DatePart("yyyy",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает значение "Год" для значений дат в поле "DateofSale". |
| SELECT DatePart("q",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает значение "Квартал" (на основе календарного года) значений дат в поле "DateofSale". |
| SELECT DatePart("y",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает "День года" (от 1 до 365) для значений даты в поле "DateofSale". |
| SELECT DatePart("d",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает значение "Day" для значений даты в поле "DateofSale". |
| SELECT DatePart("w",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает "Weekday" (от 1 до 7, где 1 обозначает воскресенье) значений даты в поле "DateofSale". |
| SELECT DatePart("ww",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает "Номер недели" (от 1 до 52) значений дат в поле "DateofSale". |
| SELECT DatePart("h",[DateTime]) AS NewDate FROM ProductSales; | Возвращает "час" для значений даты из поля "ДатаВремя". |
| SELECT DatePart("n",[DateTime]) AS NewDate FROM ProductSales; | Возвращает "Минуты" для значений дат из поля "ДатаВремя". |
| SELECT DatePart("s",[DateTime]) AS NewDate FROM ProductSales; | Возвращает "секунды" для значений даты из поля "ДатаВремя". |
Пример VBA
Примечание
В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.
В этом примере с помощью функции DatePart отображается квартал года, в котором она приходится.
Dim TheDate As Date ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date:")
Msg = "Quarter: " & DatePart("q", TheDate)
MsgBox Msg