DatePart 函数 (Visual Basic)

更新:2007 年 11 月

返回一个 Integer 值,其中包含给定 Date 值的指定组件。

Public Overloads Function DatePart( _
   ByVal Interval As DateInterval, _
   ByVal DateValue As DateTime, _
   Optional ByVal FirstDayOfWeekValue As FirstDayOfWeek = VbSunday, _
   Optional ByVal FirstWeekOfYearValue As FirstWeekOfYear = VbFirstJan1 _
) As Integer
' -or-
Public Overloads Function DatePart( _
    ByVal Interval As String, _
   ByVal DateValue As Object, _
   Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, _
   Optional ByVal WeekOfYear As FirstWeekOfYear = FirstWeekOfYear.Jan1 _
) As Integer

参数

  • Interval
    必选。DateInterval 枚举值或 String 表达式,它表示要返回的日期/时间值部分。

  • DateValue
    必选。所要计算的 Date 值。

  • FirstDayOfWeekValue, DayOfWeek
    可选项。从 FirstDayOfWeek 枚举选择的值,指定一周的第一天。如果未指定,则使用 FirstDayOfWeek.Sunday。

  • FirstWeekOfYearValue, WeekOfYear
    可选项。从 FirstWeekOfYear 枚举选择的值,指定一年的第一周。如果未指定,则使用 FirstWeekOfYear.Jan1。

设置

Interval 参数可以有以下设置之一。

枚举值

字符串

所要返回的日期/时间值部分

DateInterval.Day

d

月中的哪一天(从 1 到 31)

DateInterval.DayOfYear

y

年中的哪一天(从 1 到 366)

DateInterval.Hour

h

小时

DateInterval.Minute

n

分钟

DateInterval.Month

m

DateInterval.Quarter

q

季度

DateInterval.Second

s

DateInterval.Weekday

w

星期几(从 1 到 7)

DateInterval.WeekOfYear

ww

年中的哪一周(从 1 到 53)

DateInterval.Year

yyyy

年份

FirstDayOfWeekValue 参数可以有以下设置之一。

枚举值

说明

FirstDayOfWeek.System

0

系统设置中指定的周的第一天

FirstDayOfWeek.Sunday

1

星期日(默认)

FirstDayOfWeek.Monday

2

星期一(依照 ISO 8601 标准第 3.17 节)

FirstDayOfWeek.Tuesday

3

星期二

FirstDayOfWeek.Wednesday

4

星期三

FirstDayOfWeek.Thursday

5

星期四

FirstDayOfWeek.Friday

6

星期五

FirstDayOfWeek.Saturday

7

星期六

FirstWeekOfYearValue 参数可以有以下设置之一。

枚举值

说明

FirstWeekOfYear.System

0

系统设置中指定的年的第一周

FirstWeekOfYear.Jan1

1

1 月 1 日所在的周(默认)

FirstWeekOfYear.FirstFourDays

2

至少有四天属于新年的周(依照 ISO 8601 标准第 3.17 节)

FirstWeekOfYear.FirstFullWeek

3

新年的第一个全周

异常

异常类型

错误号

条件

ArgumentException

5

Interval 无效。

InvalidCastException

13

DateValue 并不强制为 Date。

如果正在升级使用无结构错误处理的 Visual Basic 6.0 应用程序,请参见“错误号”一列。(您可以根据 Number 属性(Err 对象)比较错误号。)然而,如果可能,应当考虑用 Visual Basic 的结构化异常处理概述替换这种错误控制。

备注

可以使用 DatePart 函数来计算日期/时间值并返回一个特定组件。例如,可以使用 DatePart 计算某个日期是星期几或目前为几点钟。

如果为 Interval 参数选择 DateInterval.Weekday,则返回值将与 FirstDayOfWeek 枚举的值一致。如果选择 DateInterval.WeekOfYear,DatePart 将使用 System.Globalization 命名空间的 CalendarCultureInfo 类来确定当前的设置。

FirstDayOfWeekValue 参数影响使用 DateInterval.Weekday 和 DateInterval.WeekOfYear Interval 设置的计算。FirstWeekOfYearValue 参数影响将 DateInterval.WeekOfYear 指定为 Interval 的计算。

因为每个 Date 值都由 DateTime 结构支持,其方法在检索日期/时间部分中提供了额外的选项。例如,将时间值设置为午夜,可以获取 Date 变量的完整日期值,如下所示:

Dim CurrDatTim As Date = Now   ' Current date and time.
Dim LastMidnight As Date = CurrDatTim.Date   ' At midnight.

示例

本示例取得一个日期,并使用 DatePart 函数显示该日期所在的季度。

Dim FirstDate, Msg As String   'Declare variables.
Dim SecondDate As Date
FirstDate = InputBox("Enter a date:")
SecondDate = CDate(FirstDate)
Msg = "Quarter: " & DatePart(DateInterval.Quarter, SecondDate)
MsgBox(Msg)

要求

命名空间:Microsoft.VisualBasic

**模块:**DateAndTime

**程序集:**Visual Basic 运行库(在 Microsoft.VisualBasic.dll 中)

请参见

参考

DateAdd 函数 (Visual Basic)

DateDiff 函数 (Visual Basic)

Day 函数 (Visual Basic)

Format 函数

Now 属性

Weekday 函数 (Visual Basic)

Year 函数 (Visual Basic)

Date 数据类型 (Visual Basic)

System