資源描述:
《vb計(jì)算農(nóng)歷的算法》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、VB計(jì)算農(nóng)歷的算法發(fā)表日期:2002-09-13作者:李立華[原創(chuàng)]出處:'下面是一個(gè)關(guān)于VB的農(nóng)歷算法'日期數(shù)據(jù)定義方法如下'前12個(gè)字節(jié)代表1-12月為大月或是小月,1為大月30天,0為小月29天'第13位為閏月的情況,1為大月30天,0為小月29天,第14位為閏月的月'份,如果不是閏月為0,否則給出月份,10、11、12分別用A、B、C來(lái)表'示,即使用16進(jìn)制。最后4位為當(dāng)年家農(nóng)歷新年-即農(nóng)歷1月1日所在公歷的日期,如0131代表1月31日。'GetYLDate函數(shù)使用方式如下tYear為要輸入的年,tMonth為月,tDay為
2、日期,YLyear是返回值,返加農(nóng)歷的年份,如甲子年,YLShuXing返回的是屬象,如鼠。IsGetGl是設(shè)置是不是通過(guò)農(nóng)歷取公歷值,如果是前三個(gè)返回相應(yīng)的公歷日期,而且返回值是一個(gè)公歷日期。FunctionGetYLDate(tYearAsInteger,tMonthAsInteger,tDayAsInteger,YLyearAsString,YLShuXingAsString,OptionalIsGetGlAsBoolean)AsStringOnErrorResumeNextDimdaList(1900To2011)AsStri
3、ng*18DimconDateAsDate,setDateAsDateDimAddMonthAsInteger,AddDayAsInteger,AddYearAsInteger,getDayAsIntegerDimRunYueAsBooleanIftYear>2010OrtYear<1901ThenExitFunction'如果不是有效有日期,退出1900to1909daList(1900)="010010110110180131"daList(1901)="010010101110000219"daList(1902)="10100
4、1010111000208"daList(1903)="010100100110150129"daList(1904)="110100100110000216"daList(1905)="110110010101000204"daList(1906)="011010101010140125"daList(1907)="010101101010000213"daList(1908)="100110101101000202"daList(1909)="010010101110120122"daList(1910)="01001010111
5、0000210"daList(1911)="101001001101160130"daList(1912)="101001001101000218"daList(1913)="110100100101000206"daList(1914)="110101010100150126"daList(1915)="101101010101000214"daList(1916)="010101101010000204"daList(1917)="100101101101020123"daList(1918)="10010101101100021
6、1"daList(1919)="010010011011170201"daList(1920)="010010011011000220"daList(1921)="101001001011000208"daList(1922)="101100100101150128"daList(1923)="011010100101000216"daList(1924)="011011010100000205"daList(1925)="101011011010140124"daList(1926)="001010110110000213"daLi
7、st(1927)="100101010111000202"daList(1928)="010010010111120123"daList(1929)="010010010111000210"daList(1930)="011001001011060130"daList(1931)="110101001010000217"daList(1932)="111010100101000206"daList(1933)="011011010100150126"daList(1934)="010110101101000214"daList(193
8、5)="001010110110000204"daList(1936)="100100110111030124"daList(1937)="100100101110000211"daList(1938)="1100100