返回一个 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