DatePart 函数

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

返回一个 Variant (Integer) 值,其中包含给定日期的指定部分。

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

语法

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

DatePart 函数语法具有以下参数:

参数 说明
interval 必需。 要返回的时间间隔的字符串表达式。
日期 必需。 变量 (日期) 要计算的值。
firstdayofweek 可选。 一个指定一周的第一天的常量。 如果未指定,则假定为星期日。
firstweekofyear 可选。 一个指定一年的第一周的常量。 如果未指定,则假定第一周是 1 月 1 日发生的周。

“设置”

interval 参数具有以下设置:

设置 说明
yyyy
q 季度
m
y 一年中的某一天
d
w Weekday
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,如果 Calendar 属性设置为 Gregorian,则提供的日期必须为 Gregorian。 如果日历为 Hijri,则提供的日期必须为 Hijri。

返回的日期部分位于当前阿拉伯历的时间段单位中。 例如,如果当前日历为 Hijri,而要返回的日期部分是年份,则年份值为 Hijri 年份。

查询示例

Expression 结果
SELECT DatePart (“yyyy”,[DateofSale]) AS NewDate FROM ProductSales; 返回字段“DateofSale”的日期值的“Year”。
SELECT DatePart (“q”,[DateofSale]) AS NewDate FROM ProductSales; 根据“DateofSale”字段的日期值的日历年) 返回“Quarter” (。
SELECT DatePart (“y”,[DateofSale]) AS NewDate FROM ProductSales; 返回字段“DateofSale”的日期值 (1 到 365) 的“年度日期”。
SELECT DatePart (“d”,[DateofSale]) AS NewDate FROM ProductSales; 返回字段“DateofSale”的日期值的“Day”。
SELECT DatePart (“w”,[DateofSale]) AS NewDate FROM ProductSales; 返回从 1 到 7 的“工作日” (,其中 1 表示字段“DateofSale”的日期值的 Sunday) 。
SELECT DatePart (“ww”,[DateofSale]) AS NewDate FROM ProductSales; 返回字段“DateofSale”的日期值的 1 到 52) 的“周数” (。
SELECT DatePart (“h”,[DateTime]) AS NewDate FROM ProductSales; 返回字段“DateTime”的日期值的“Hour”。
SELECT DatePart (“n”,[DateTime]) AS NewDate FROM ProductSales; 返回字段“DateTime”的日期值的“分钟”。
SELECT DatePart (“s”,[DateTime]) AS NewDate FROM ProductSales; 返回字段“DateTime”的日期值的“秒”。

VBA 示例

注意

下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在搜索旁边的下拉列表中选择“开发人员参考”,并在搜索框中输入一个或多个术语。

此示例采用日期,并使用 DatePart 函数显示该日期所在的年份的季度。

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

选择正确的日期函数