Функция DatePart

Предупреждение

Существует проблема с использованием этой функции. Последний понедельник в некоторых календарных годах может быть возвращен как неделя 53, когда это должна быть неделя 1. Дополнительные сведения и обходной путь см. в статье Функции формат или DatePart могут возвращать неправильный номер недели для последнего понедельника в году. Возвращает значение Variant (Integer), содержащее указанную часть данной даты.

Синтаксис

DatePart(interval, date, [ firstdayofweek, [ firstweekofyear ]])

Синтаксис функцииDatePart имеет следующиеименованные аргументы:

Part Описание
интервал Обязательный аргумент. Строковое выражение, представляющее интервал времени, который требуется вернуть.
дата Обязательный аргумент. Значение Variant (Date), которое требуется оценить.
первый_день_недели Необязательный аргумент. Константа, задающая первый день недели. Если она не указана, им является воскресенье.
первая_неделя_года Необязательно. Константа, задающая первую неделю года. Если она не указана, первой неделею является неделя, начинающаяся 1 января.

Параметры

Аргументinterval имеет следующие параметры:

Setting Описание
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 является литералом даты, указанный год становится постоянной частью этой даты. Однако если аргумент date будет заключен в двойные кавычки (" ") и будет пропущен год, то текущий год будет вставляться в коде каждый раз при выполнении оценки выражения date. Это позволяет писать код, который можно использовать для разных лет.

Примечание.

Если в свойстве Calendar задан григорианский календарь, аргумент дата следует указывать соответствующим образом. Если используется календарь Хиджра, дата должна соответствовать ему.

Возвращенные части даты выражаются в единицах измерения периодов времени текущего арабского календаря. Например, если текущим календарем является Хиджра и возвращаемой частью даты является год, значение года будет соответствовать году хиджры.

Пример

В этом примере берется дата и с помощью функции DatePart отображается квартал года, на который она приходится.

Dim TheDate As Date    ' Declare variables.
Dim Msg    
TheDate = InputBox("Enter a date:")
Msg = "Quarter: " & DatePart("q", TheDate)
MsgBox Msg

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Функции Format или DatePart могут возвращать неправильное число недели для последнего понедельника в году