Returns an Integer value containing the specified component of a given Date value.
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
The Interval argument can have one of the following settings.
Enumeration value | String | Part of date/time value to return |
---|---|---|
DateInterval.Day | d | Day of month (1 through 31) |
DateInterval.DayOfYear | y | Day of year (1 through 366) |
DateInterval.Hour | h | Hour |
DateInterval.Minute | n | Minute |
DateInterval.Month | m | Month |
DateInterval.Quarter | q | Quarter |
DateInterval.Second | s | Second |
DateInterval.Weekday | w | Day of week (1 through 7) |
DateInterval.WeekOfYear | ww | Week of year (1 through 53) |
DateInterval.Year | yyyy | Year |
The FirstDayOfWeekValue argument can have one of the following settings.
Enumeration value | Value | Description |
---|---|---|
FirstDayOfWeek.System | 0 | First day of week specified in system settings |
FirstDayOfWeek.Sunday | 1 | Sunday (default) |
FirstDayOfWeek.Monday | 2 | Monday (complies with ISO standard 8601, section 3.17) |
FirstDayOfWeek.Tuesday | 3 | Tuesday |
FirstDayOfWeek.Wednesday | 4 | Wednesday |
FirstDayOfWeek.Thursday | 5 | Thursday |
FirstDayOfWeek.Friday | 6 | Friday |
FirstDayOfWeek.Saturday | 7 | Saturday |
The FirstWeekOfYearValue argument can have one of the following settings.
Enumeration value | Value | Description |
---|---|---|
FirstWeekOfYear.System | 0 | First week of year specified in system settings |
FirstWeekOfYear.Jan1 | 1 | Week in which January 1 occurs (default) |
FirstWeekOfYear.FirstFourDays | 2 | Week that has at least four days in the new year (complies with ISO standard 8601, section 3.17) |
FirstWeekOfYear.FirstFullWeek | 3 | First full week in new year |
Exception type | Error number | Condition |
---|---|---|
5 | Interval is invalid. | |
13 | DateValue is not coercible to Date. |
You can use the DatePart function to evaluate a date/time value and return a specific component. For example, you might use DatePart to calculate the day of the week or the current hour.
If you choose DateInterval.Weekday for the Interval argument, the returned value is consistent with the values of the FirstDayOfWeek enumeration. If you choose DateInterval.WeekOfYear, DatePart uses the Calendar and CultureInfo classes of the System.Globalization namespace to determine your current settings.
The FirstDayOfWeekValue argument affects calculations that use the DateInterval.Weekday and DateInterval.WeekOfYear Interval settings. The FirstWeekOfYearValue argument affects calculations that specify DateInterval.WeekOfYear for Interval.
If any argument has an invalid value, an ArgumentException error occurs. If the DateValue argument has a value that cannot be coerced to a valid Date value, an InvalidCastException error occurs.
Since every Date value is supported by a DateTime structure, its methods give you additional options in retrieving date/time parts. For example, you can obtain the entire date value of a Date variable, with the time value set to midnight, as follows:
Dim CurrDatTim As Date = Now ' Current date and time. Dim LastMidnight As Date = CurrDatTim.Date ' At midnight.
This example takes a date and, using the DatePart function, displays the quarter of the year in which it occurs.
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)
DateAdd Function | DateDiff Function | Day Function | Format Function | Now Property | Weekday Function | Year Function | Date Data Type |