Возвращает значение типа Variant (Integer), содержащее указанную часть заданной даты.
| Предупреждение Существует проблема с использованием этой функции. Последний понедельник в некоторых календарных годах может быть возвращен как неделя 53, когда это должна быть неделя 1. Дополнительные сведения и обходной путь см. в статье Функции формат или DatePart могут возвращать неправильный номер недели для последнего понедельника в году. |
|---|
Синтаксис
DatePart(interval, date [, firstdayofweek] [, firstweekofyear] )
Аргументы функции DatePart :
| Аргумент | Описание |
|---|---|
| интервал | — обязательный аргумент. Строковое выражение, которое представляет собой интервал времени, который требуется вернуть. |
| Дата | — обязательный аргумент. Значение Variant (Date), которое требуется вычислить. |
| первый_день_недели | — необязательный аргумент. Константой, указывающей первый день недели. Если не указано, предполагается воскресенье. |
| первая_неделя_года | Необязательный аргумент. Константа, задающая первую неделю года. Если не указано, предполагается, что первая неделя будет неделей, в которую приходится 1 января. |
Параметры
Аргумент interval имеет следующие параметры:
| Параметр | Описание |
|---|---|
| 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".
Если date является литералом даты, указанный год становится постоянной частью этой даты. Однако если дата заключена в двойные кавычки (""), а год опускается, текущий год вставляется в код при каждом вычислении выражения даты . Это позволяет писать код, который можно использовать для разных лет.
Примечание
Если в свойстве Calendar задан григорианский календарь, аргумент дата следует указывать соответствующим образом. Если используется календарь Хиджра, дата должна соответствовать ему.
Возвращаемая часть даты находится в единицах периода времени текущего арабского календаря. Например, если текущим календарем является Хиджра, а возвращаемой частью даты — год, значение года будет соответствовать году в календаре Хиджра.
Примеры запросов
| Выражение | Результаты |
|---|---|
| SELECT DatePart("yyyy",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает значение Year значений даты поля 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; | Возвращает значение "День недели" (от 1 до 7, где 1 представляет воскресенье) значений даты в поле "DateofSale". |
| SELECT DatePart("ww",[DateofSale]) AS NewDate FROM ProductSales; | Возвращает число недели (от 1 до 52) значений даты в поле DateofSale. |
| SELECT DatePart("h",[DateTime]) AS NewDate FROM ProductSales; | Возвращает значение "Hour" значений даты поля "DateTime". |
| SELECT DatePart("n",[DateTime]) AS NewDate FROM ProductSales; | Возвращает значение "Minutes" значений даты поля "DateTime". |
| SELECT DatePart("s",[DateTime]) AS NewDate FROM ProductSales; | Возвращает "секунды" значений даты поля "DateTime". |
Пример 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