lMonth = i mvarlDay = offset End Sub
''''////////////////////////////////////////////////////////////////////////////////////////////////// '''' ''''主要的函数,用农历年月日对日期对象进行初使化,在此函数内部完成对私有对象属性的设置 '''' ''''////////////////////////////////////////////////////////////////////////////////////////////////// Public Sub lInitDate(ByVal y As Long, ByVal m As Long, ByVal d As Long, Optional LeapFlag As Boolean = False) Dim i As Long Dim leap As Long Dim Temp As Long Dim offset As Long
mvarlYear = y mvarlMonth = m mvarlDay = d offset = 0 For i = 1900 To y - 1 Temp = LunarYearDays(i - 1900) ''''求当年农历年天数 offset = offset + Temp Next leap = leapMonth(y) ''''闰哪个月 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 '''' base = 1900 '''' For i = 1 To 15 '''' For j = 1 To 10 '''' temp(j - 1) = lYearDays((i - 1) * 10 + (j - 1) + base) ''''求当年农历年天数 '''' Next '''' Debug.Print CStr(temp(0)) & " , " & CStr(temp(1)) & " , " & CStr(temp(2)) & " , " & CStr(temp(3)) & " , " & CStr(temp(4)) & " , " & CStr(temp(5)) & " , " & CStr(temp(6)) & " , " & CStr(temp(7)) & " , " & CStr(temp(8)) & " , " & CStr(temp(9)) & " , " & " _ " '''' Next ''''End Sub
上一页 [1] [2] [3] [4] [5] [6] [系统软件]用RegDllView揪出所有已注册的dll/ocx [系统软件]Windows系统的活动大陆基石 细看DLL文件 [系统软件]Windows的活动大陆:细看DLL文件 [常用软件]利用msdvm.dll实现微软虚拟桌面 [VB.NET程序]使用VB6.0设计ActiveX DLL事件 [VB.NET程序]Crystal Report(水晶报表)的报表封装成VB的DLL [VB.NET程序]用diskid.dll和disk32.dll获得硬盘序列号 [Delphi程序]输出SHELL32.DLL的图标 [Delphi程序]把图标存储在SHELL32.DLL [Delphi程序]DLL 應用 - 設計可抽換的模組
|