Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Mar 23, 2000



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Wrap Date Functions in a Class

I've been working on a class module called clsDateInfo that returns various properties of a given date, and using it in some monthly trend graphs. I had to come up with the number of weekdays—not counting weekends—a given date was from the first of the month. The clsDateInfo.WeekDayOfMonth property returns the answer in a flash:
Option Explicit
' clsDateInfo
' Chuck Spohr 9/23/1999
' Set the DateToCheck property of this object and 
' the other properties will return various useful 
' values about that date
Private mdtDate As Date
Public Property Let DateToCheck(pdtDate As Date)
	mdtDate = pdtDate
End Property
Public Property Get DateToCheck() As Date
	DateToCheck = mdtDate
End Property
Public Property Get WeekDayOfMonth() As Integer
	If Me.DayOfWeek = vbSunday Or Me.DayOfWeek = _
		vbSaturday Then
		WeekDayOfMonth = 0
		WeekDayOfMonth = (5 * (Me.WeekOfMonth - 1)) - _
			Me.FirstDayOfWeekOfMonth + Me.DayOfWeek + 1
	End If
End Property
Public Property Get WeekOfMonth() As Integer
	WeekOfMonth = Week  Me.FirstWeekOfMonth + 1
End Property

Public Property Get FirstWeekOfMonth() As Integer
	FirstWeekOfMonth = DatePart("ww", Me.FirstDayOfMonth)
End Property
Public Property Get FirstDayOfWeekOfMonth() As Integer
	FirstDayOfWeekOfMonth = DatePart("w", Me.FirstDayOfMonth)
End Property
Public Property Get Week() As Integer
	Week = DatePart("ww", mdtDate)
End Property
Public Property Get FirstDayOfMonth() As Variant
	FirstDayOfMonth = DateSerial(DatePart("yyyy", _
		mdtDate), DatePart("m", mdtDate), 1)
End Property
Public Property Get DayOfWeek() As Integer
	DayOfWeek = DatePart("w", mdtDate)
End Property
Private Sub Class_Initialize()
	mdtDate = Now()
End Sub
Chuck Spohr
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date