|
真正的公农历转换类for VB(10) Next End Sub '///////////////////////////////////////////////////////////////////////////////////////////////////////////// '计算农历上的节气 Public Property Get lSolarTerm() As String '//===== 某年的第n个节气为几日(从0小寒起算) 'function sTerm(y,n) { ' var offDate = new Date( ( 31556925974.7*(y-1900) + sTermInfo[n]*60000 ) + Date.UTC(1900,0,6,2,5) ) ' return(offDate.getUTCDate()) '//节气 ' tmp1 = sTerm(y, m * 2) - 1 Dim baseDateAndTime As Date Dim newDate As Date Dim num As Double Dim y As Long Dim tempStr As String baseDateAndTime = #1/6/1900 2:05:00 AM# y = mvarsYear tempStr = "" Dim i As Long For i = 1 To 24 num = 525948.76 * (y - 1900) + sTermInfo(i - 1) newDate = DateAdd("n", num, baseDateAndTime) '按分钟计算,之所以不按秒钟计算,是因为会溢出 If Abs(DateDiff("d", newDate, mvarDate)) = 0 Then tempStr = SolarTerm(i - 1) Exit For End If Next lSolarTerm = tempStr End Property '计算按第几周星期几计算的节日 Public Property Get wHoliday() As String Dim w As Long Dim i As Long Dim b As Long Dim FirstDay As Date Dim tempStr As String b = UBound(wHolidayInfo)
|