Language: VB5,VB6,VBS Expertise: Intermediate
Aug 7, 2000
WEBINAR:
On-Demand
Application Security Testing: An Integral Part of DevOps
An enhanced VB DatePart function
Here is an enhanced version of VB DatePart function: the first parameter is now an enumerated type, so easier to use. DatePartEx is 4-5 times faster than DatePart and supports also two new intervals: MonthName and WeekdayName.
Enum DateTimePart
dtYear
dtQuarter
dtMonth
dtMonthName
dtShortMonthName
dtDay
dtDayOfTheYear
dtWeekday
dtWeekdayName
dtShortWeekdayName
dtWeekOfTheYear
dtHour
dtMinute
dtSecond
End Enum
' Enhanced VB DatePart function
Function DatePartEx(ByVal Interval As DateTimePart, newDate As Date, _
Optional FirstDayOfWeek As VbDayOfWeek = vbSunday, Optional FirstWeekOfYear _
As VbFirstWeekOfYear = vbFirstJan1) As Variant
' Select the right and faster date/time function
Select Case Interval
Case dtYear
DatePartEx = Year(newDate)
Case dtQuarter
DatePartEx = DatePart("q", newDate, FirstDayOfWeek, FirstWeekOfYear)
Case dtMonth
DatePartEx = Month(newDate)
Case dtMonthName
DatePartEx = MonthName(Month(newDate), False)
Case dtShortMonthName
DatePartEx = MonthName(Month(newDate), True)
Case dtDay
DatePartEx = Day(newDate)
Case dtDayOfTheYear
DatePartEx = DatePart("y", newDate, FirstDayOfWeek, FirstWeekOfYear)
Case dtWeekday
DatePartEx = Weekday(newDate, FirstDayOfWeek)
Case dtWeekdayName
DatePartEx = Format(newDate, "dddd")
Case dtShortWeekdayName
DatePartEx = Format(newDate, "ddd")
Case dtWeekOfTheYear
DatePartEx = DatePart("ww", newDate, FirstDayOfWeek, _
FirstWeekOfYear)
Case dtHour
DatePartEx = Hour(newDate)
Case dtMinute
DatePartEx = Minute(newDate)
Case dtSecond
DatePartEx = Second(newDate)
End Select
End Function
Alberto Falossi
|