If m <> leap Then mvarIsLeap = False ''''当前日期并非闰月 Else mvarIsLeap = LeapFlag ''''使用用户输入的是否闰月月份 End If
If (m < leap) Or (leap = 0) Then ''''当闰月在当前日期后 For i = 1 To m - 1 Temp = lMonthDays(y, i) ''''计算非闰月天数 offset = offset + Temp Next Else ''''在闰月后 If mvarIsLeap = False Then ''''用户要计算非闰月的月份 For i = 1 To m - 1 Temp = lMonthDays(y, i) ''''计算非闰月天数 offset = offset + Temp Next If m > leap Then Temp = leapDays(y) ''''计算闰月天数 offset = offset + Temp End If
Else ''''此时只有mvarisleap=ture, For i = 1 To m Temp = lMonthDays(y, i) ''''计算非闰月天数 offset = offset + Temp Next End If End If
offset = offset + d ''''加上当月的天数 mvarDate = DateAdd("d", offset, #1/30/1900#) mvarsYear = Year(mvarDate) mvarsMonth = Month(mvarDate) mvarsDay = Day(mvarDate) End Sub ''''本模块用于打印出1900-2049年 每年农历的天数,可以用于数组初使化 ''''Public Sub printf() '''' Dim i As Long, j As Long '''' Dim temp(10) As Long '''' Dim base As Long