|
|
![]() |
|
||
|
|
|||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||
| Visual Basic Helper
Routines Pure VB: Methods to Determine Number of Days in a Month |
||
| Posted: | Monday March 25, 2002 | |
| Updated: | Monday December 26, 2011 | |
| Applies to: | VB4-32, VB5, VB6 | |
| Developed with: | VB6, Windows XP | |
| OS restrictions: | None | |
| Author: | Newsgroup contributors | |
|
Related: |
Pure VB: Methods to Determine the Last Day of the Month Pure VB: Methods to Determine Number of Days in a Month Pure VB: Determining Leap Years VarMonthName: Retrieve Localized Month Names VarWeekdayName: Retrieve Localized Weekday Names |
|
| Prerequisites |
| None. |
|
|
Routines that determine
the number of days in a specified month, contributed over time to either the msnews.public.vb.*
or comp.lang.vb.* newsgroups.Note: The routines presented here are very similar, in both construction and purpose/end result, with those presented on Pure VB: Methods to Determine the Last Day of the Month. Therefore examination of the routines on that page may provide additional information or insight. |
| BAS Module Code |
| None. |
|
|
| Form Code |
|
|
| Toss a command button and label onto a form, and set the Index property of each to 0 to create control arrays. And add the following code: |
|
|
Option Explicit '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Copyright ©1996-2011 VBnet/Randy Birch, All Rights Reserved. ' Some pages may also contain other copyrights by the author. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' Distribution: You can freely use this code in your own ' applications, but you may not reproduce ' or publish this code on any web site, ' online service, or distribute as source ' on any media without express permission. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub Form_Load()
Dim x As Long
For x = 0 To 1
If x > 0 Then
Load Command1(x)
Load Label1(x)
End If
Command1(x).Move 300, 500 + (400 * (x + 1)), 2535
Command1(x).Visible = True
Label1(x).Move Command1(x).Width + _
Command1(x).Left + 400, _
430 * (x + 1), 2535
Label1(x).Move Command1(x).Width + _
Command1(x).Left + 400, _
Command1(x).Top + _
Command1(x).Height - _
Label1(x).Height
Label1(x).Visible = True
Label1(x).Caption = "Ready"
Next
With Command1
.Item(0).Caption = "DiM - Rothstein"
.Item(1).Caption = "DiM - Mead"
End With
End Sub
Private Sub Command1_Click(Index As Integer)
Dim result
Select Case Index
Case 0: result = DaysInMonth1(Year(Date), Month(Date))
Case 1: result = DaysInMonth2(Date)
End Select
Label1(Index).Caption = result
End Sub
Private Function DaysInMonth2(ByVal d As Date) As Integer
'Derrick Mead in microsoft.public.vb.general.discussion
Dim dtDate As Date
Dim dtMonth As Integer
Dim dtYear As Integer
dtMonth = Month(d)
dtYear = Year(d)
dtDate = DateSerial(dtYear, dtMonth, 1) 'set date to first day of Year , Month
dtDate = DateAdd("m", 1, dtDate) 'add 1 month
dtDate = DateAdd("d", -1, dtDate) 'subtract a day
DaysInMonth2 = Day(dtDate) 'how many days?
End Function
Function DaysInMonth1(YearValue As Long, _
MonthValue As Long) As Long
'Rick Rothstein in microsoft.public.vb.general.discussion
'For the specified year and month,
'return the last day of that month
DaysInMonth1 = Day(DateSerial(YearValue, _
MonthValue + 1, 0))
End Function |
| Comments |
|
|
|
|
|
|||||
|
|||||
|
|
|||||
|
Copyright ©1996-2011 VBnet and Randy Birch. All Rights Reserved. |
![]() |