Возвращает значение типа 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 |
Секунды |
Аргумент первый_день_недели может принимать следующие значения:
Константа |
Значение |
Описание |
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 для вычисления дня недели или текущего часа.
Аргумент первый_день_недели влияет на вычисления, если заданы значения "w" и "ww".
Если date является литерал даты, указанный год становится постоянной частью этой даты. Однако если дата заключена в двойные кавычки (""), а год опускается, текущий год вставляется в код при каждом вычислении выражения даты . Это позволяет писать код, который можно использовать для разных лет.
Примечание: Если в свойстве Calendar задан григорианский календарь, аргумент дата следует указывать соответствующим образом. Если используется календарь Хиджра, дата должна соответствовать ему.
Возвращаемая часть даты находится в единицах периода времени текущего арабского календаря. Например, если текущим календарем является Хиджра, а возвращаемой частью даты — год, значение года будет соответствовать году в календаре Хиджра.
Примеры запросов
Expression |
Результаты |
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