Wrap Date Functions in a Class

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 datePrivate mdtDate As DatePublic Property Let DateToCheck(pdtDate As Date)	mdtDate = pdtDateEnd PropertyPublic Property Get DateToCheck() As Date	DateToCheck = mdtDateEnd PropertyPublic Property Get WeekDayOfMonth() As Integer	If Me.DayOfWeek = vbSunday Or Me.DayOfWeek = _		vbSaturday Then		WeekDayOfMonth = 0	Else		WeekDayOfMonth = (5 * (Me.WeekOfMonth - 1)) - _			Me.FirstDayOfWeekOfMonth + Me.DayOfWeek + 1	End IfEnd PropertyPublic Property Get WeekOfMonth() As Integer	WeekOfMonth = Week  Me.FirstWeekOfMonth + 1End PropertyPublic Property Get FirstWeekOfMonth() As Integer	FirstWeekOfMonth = DatePart("ww", Me.FirstDayOfMonth)End PropertyPublic Property Get FirstDayOfWeekOfMonth() As Integer	FirstDayOfWeekOfMonth = DatePart("w", Me.FirstDayOfMonth)End PropertyPublic Property Get Week() As Integer	Week = DatePart("ww", mdtDate)End PropertyPublic Property Get FirstDayOfMonth() As Variant	FirstDayOfMonth = DateSerial(DatePart("yyyy", _		mdtDate), DatePart("m", mdtDate), 1)End PropertyPublic Property Get DayOfWeek() As Integer	DayOfWeek = DatePart("w", mdtDate)End PropertyPrivate Sub Class_Initialize()	mdtDate = Now()End Sub
See also  Monetize TikTok For Your Business

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist