DatePart 函数
应用对象
返回一个 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