DatePart 函数

警告

使用此函数时存在问题。 某些日历年的最后一个星期一可以返回为第 53 周,而该周应为第 1 周。 有关详细信息和解决方法,请参阅 Format 或 DatePart 函数可能返回错误的年份中上周一的周数。 返回包含给定日期的指定部分的 Variant (Integer)。

语法

DatePart (intervaldate, [ firstdayofweek, [ firstweekofyear ]])

DatePart 函数语法包含下列命名参数

Part 说明
interval 必需。 表示您要返回的时间间隔的字符串表达式
date 必需。 要计算的 Variant (Date) 值。
firstdayofweek 可选。 一个指定一周的第一天的常量。 如果未指定,则会假定为星期日。
firstweekofyear 可选。 一个指定一年的第一周的常量。 如果未指定,则会假定 1 月 1 日出现的那一周为第一周。

设置

interval参数具有以下设置:

Setting 说明
yyyy
q 季度
m
y 每年的某一日
d
w 工作日
ww
h 小时
n 分钟
s

firstdayofweek 参数具有以下设置:

常量 说明
vbUseSystem 0 使用 NLS API 设置。
vbSunday 1 周日(默认)
vbMonday 2 星期一
vbTuesday 3 星期二
vbWednesday 4 星期三
vbThursday 5 星期四
vbFriday 6 星期五
vbSaturday 7 星期六

firstweekofyear 参数包含以下设置:

常量 说明
vbUseSystem 0 使用 NLS API 设置。
vbFirstJan1 1 从 1 月 1 日所在的周开始(默认)。
vbFirstFourDays 2 从至少包含新的一年中的四天的那一周开始。
vbFirstFullWeek 3 从每年的第一个完整的星期开始。

注解

使用 DatePart 函数计算日期并返回特定的时间间隔。 例如,您可使用 DatePart 计算每周的某一日或当前时间。

firstdayofweek 参数影响使用“w”和“ww”时间间隔符号的计算。

如果 date 为一个日期字符串,则指定的年将成为该日期的永久性部分。 但是,如果 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 函数可能返回错误的年份中最后一个星期一的周数