|
真正的公农历转换类for VB(24) '闰月 If leap > 0 And i = (leap + 1) And mvarIsLeap = False Then mvarIsLeap = True i = i - 1 Temp = leapDays(mvarlYear) '计算闰月天数 Else Temp = lMonthDays(mvarlYear, i) '计算非闰月天数 End If offset = offset - Temp If offset <= 0 Then Exit For Next offset = offset + Temp mvarlMonth = 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) '闰哪个月
|