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 是日期文本,则指定年份将成为该日期的永久部分。 但是,如果 日期 括在双引号 (“ ”) 中,并且省略了年份,则每次计算 日期 表达式时,都会在代码中插入当前年份。 这使得编写可在不同年份使用的代码成为可能。

注意

对于日期,如果 Calendar 属性设置为公历,则提供的日期必须是公历。 如果日历是回历,则提供的日期必须是回历。

返回的日期部分采用当前阿拉伯日历的时间段单位。 例如,如果当前日历是回历,并且要返回的日期部分是年份,则年值为回历年。

查询示例

Expression 结果
SELECT DatePart (“yyyy”,[DateofSale]) AS NewDate FROM ProductSales; 返回字段“DateofSale”的日期值的“年份”。
SELECT DatePart (“q”,[DateofSale]) AS NewDate FROM ProductSales; 基于“DateofSale”字段的日期值的日历年) 返回“季度” (。
SELECT DatePart (“y”,[DateofSale]) AS NewDate FROM ProductSales; 返回“DateofSale”字段的日期值 (1 到 365) 之间的“一年中的某一天”。
SELECT DatePart (“d”,[DateofSale]) AS NewDate FROM ProductSales; 返回字段“DateofSale”的日期值的“日期”。
SELECT DatePart (“w”,[DateofSale]) AS NewDate FROM ProductSales; 返回 1 到 7 之间的“工作日” (,其中 1 表示“DateofSale”字段的日期值) 的星期日。
SELECT DatePart (“ww”,[DateofSale]) AS NewDate FROM ProductSales; 返回 “DateofSale” 字段的日期值) 的 1 到 52 (“周数”。
SELECT DatePart (“h”,[DateTime]) AS NewDate FROM ProductSales; 返回字段“DateTime”的日期值的“小时”。
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

选择正确的日期函数