1900-2100之间任意年份日历(请在B2输入年份)

合集下载

1900-2100之间任意年份日历(请在B2输入年份)

1900-2100之间任意年份日历(请在B2输入年份)
03 正月初四 10 正月十一 17 正月十八 24 正月廿五 六
04 正月初五 11 正月十二 18 正月十九 25 正月廿六 日
05 正月初六 12 正月十三 19 正月二十 26 正月廿七
1900/3/1 一


1900年03月

01 二月初一 08 二月初八 15 二月十五 22 二月廿二 29 二月廿九 五
07 闰八月十 四 14 闰八月廿 一 21 闰八月廿 八 28 九月初六
1900/11/1
1900年11月



01 九月初十 五
02 九月十一 09 九月十八 16 九月廿五 23 十月初二 30 十月初九 六
03 九月十二 10 九月十九 17 九月廿六 24 十月初三 日
04 九月十三 11 九月二十 18 九月廿七 25 十月初四



02 三月初三 09 三月初十 16 三月十七 23 三月廿四 30 四月初二
1900/7/1
03 三月初四 10 三月十一 17 三月十八 24 三月廿五
04 三月初五 11 三月十二 18 三月十九 25 三月廿六
05 三月初六 12 三月十三 19 三月二十 26 三月廿七
06 三月初七 13 三月十四 20 三月廿一 27 三月廿八
05 五月初九 12 五月十六 19 五月廿三 26 五月三十
06 五月初十 13 五月十七 20 五月廿四 27 六月初一
07 五月十一 14 五月十八 21 五月廿五 28 六月初二
08 五月十二 15 五月十九 22 五月廿六 29 六月初三
1900年07月



日历1901-2100年(含农历)【A4纸打印用】

日历1901-2100年(含农历)【A4纸打印用】

#NAME #NAME #NAME #NAME #NAME #NAME #NAME ? ? ? ? ? ? ?
#NAME #NAME ? ?
2020年7月 Jul 一 二 三 1 四 2 五 3 六 4 日 5 一 二
2020年8月 Aug 三 四 五 六 1 日 2 一 二 1
2020年9月 Sep 三 2 四 3 五 4 六 5 日 6
#NAME #NAME #NAME #NAME #NAME #NAME #NAME ? ? ? ? ? ? ?
20
21
22
23
24
25
26
18
19
20
21
22
23
24
22
23
24
25
26
27
28
#NAME #NAME #NAME #NAME #NAME #NAME #NAME ? ? ? ? ? ? ?
#NAME #NAME #NAME #NAME #NAME #NAME ? ? ? ? ? ?
5
6
7
8
9
10
11
2
3
4
5
6
7
8
7
8
9
10
11
12
13
#NAME #NAME #NAME #NAME #NAME #NAME #NAME ? ? ? ? ? ? ?
#NAME #NAME #NAME #NAME #NAME #NAME #NAME ? ? ? ? ? ? ?
#NAME #NAME #NAME #NAME #NAME #NAME #NAME ? ? ? ? ? ? ?
12

农历两百年算法(1901~2100)

农历两百年算法(1901~2100)

【本程序在DEV C++ 4.9.9.2 下编译通过】有关农历的东西有以下几篇文章:计算某天是星期几【C代码】农历算法简介以及公式农历中天干地支的计算【C代码】农历一百年算法(1921~2021)【C语言代码】农历两百年算法(1901~2100)【C语言代码】下面是两百年算法,另外网上也流传着一个很有名气的一百年算法。

农历一百年算法(1921~2021)【C语言代码】下面的三个表格是农历数据表 LunarCalendarTable 的结构。

总共使用了32位整数的0~23位。

#include <time.h>unsigned int LunarCalendarDay;unsigned int LunarCalendarTable[199] = {0x04AE53,0x0A5748,0x5526BD,0x0D2650,0x0D9544,0x46AAB9,0x056A4D,0x 09AD42,0x24AEB6,0x04AE4A,/*1901-1910*/0x6A4DBE,0x0A4D52,0x0D2546,0x5D52BA,0x0B544E,0x0D6A43,0x296D37,0x 095B4B,0x749BC1,0x049754,/*1911-1920*/0x0A4B48,0x5B25BC,0x06A550,0x06D445,0x4ADAB8,0x02B64D,0x095742,0x 2497B7,0x04974A,0x664B3E,/*1921-1930*/0x0D4A51,0x0EA546,0x56D4BA,0x05AD4E,0x02B644,0x393738,0x092E4B,0x 7C96BF,0x0C9553,0x0D4A48,/*1931-1940*/0x6DA53B,0x0B554F,0x056A45,0x4AADB9,0x025D4D,0x092D42,0x2C95B6,0x 0A954A,0x7B4ABD,0x06CA51,/*1941-1950*/0x0B5546,0x555ABB,0x04DA4E,0x0A5B43,0x352BB8,0x052B4C,0x8A953F,0x 0E9552,0x06AA48,0x6AD53C,/*1951-1960*/0x0AB54F,0x04B645,0x4A5739,0x0A574D,0x052642,0x3E9335,0x0D9549,0x 75AABE,0x056A51,0x096D46,/*1961-1970*/0x54AEBB,0x04AD4F,0x0A4D43,0x4D26B7,0x0D254B,0x8D52BF,0x0B5452,0x 0B6A47,0x696D3C,0x095B50,/*1971-1980*/0x049B45,0x4A4BB9,0x0A4B4D,0xAB25C2,0x06A554,0x06D449,0x6ADA3D,0x 0AB651,0x093746,0x5497BB,/*1981-1990*/0x04974F,0x064B44,0x36A537,0x0EA54A,0x86B2BF,0x05AC53,0x0AB647,0x 5936BC,0x092E50,0x0C9645,/*1991-2000*/0x4D4AB8,0x0D4A4C,0x0DA541,0x25AAB6,0x056A49,0x7AADBD,0x025D52,0x 092D47,0x5C95BA,0x0A954E,/*2001-2010*/0x0B4A43,0x4B5537,0x0AD54A,0x955ABF,0x04BA53,0x0A5B48,0x652BBC,0x 052B50,0x0A9345,0x474AB9,/*2011-2020*/0x06AA4C,0x0AD541,0x24DAB6,0x04B64A,0x69573D,0x0A4E51,0x0D2646,0x 5E933A,0x0D534D,0x05AA43,/*2021-2030*/0x36B537,0x096D4B,0xB4AEBF,0x04AD53,0x0A4D48,0x6D25BC,0x0D254F,0x 0D5244,0x5DAA38,0x0B5A4C,/*2031-2040*/0x056D41,0x24ADB6,0x049B4A,0x7A4BBE,0x0A4B51,0x0AA546,0x5B52BA,0x 06D24E,0x0ADA42,0x355B37,/*2041-2050*/0x09374B,0x8497C1,0x049753,0x064B48,0x66A53C,0x0EA54F,0x06B244,0x 4AB638,0x0AAE4C,0x092E42,/*2051-2060*/0x3C9735,0x0C9649,0x7D4ABD,0x0D4A51,0x0DA545,0x55AABA,0x056A4E,0x 0A6D43,0x452EB7,0x052D4B,/*2061-2070*/0x8A95BF,0x0A9553,0x0B4A47,0x6B553B,0x0AD54F,0x055A45,0x4A5D38,0x 0A5B4C,0x052B42,0x3A93B6,/*2071-2080*/0x069349,0x7729BD,0x06AA51,0x0AD546,0x54DABA,0x04B64E,0x0A5743,0x 452738,0x0D264A,0x8E933E,/*2081-2090*/0x0D5252,0x0DAA47,0x66B53B,0x056D4F,0x04AE45,0x4A4EB9,0x0A4D4C,0x 0D1541,0x2D92B5 /*2091-2099*/};int MonthAdd[12] = {0,31,59,90,120,151,181,212,243,273,304,334};int LunarCalendar(int year,int month,int day){int Spring_NY,Sun_NY,StaticDayCount;int index,flag;//Spring_NY 记录春节离当年元旦的天数。

Python万年历

Python万年历

Python万年历编程思路:1.请⽤户输⼊查询的年份以及⽉份,查询出对应的万年历,万年历格式如图所⽰提⽰1:计算1900年⾄所输⼊的⽉份之前⼀共有多少天,根据公式算出输出的⽉份1号是星期⼏eg:输⼊2018年12⽉,计算出1900年1⽉1⽇到2018年11⽉30⽇,⼀共有多少天⼀共有多少天,共分成2部分,第⼀部门1900年到2017年底⼀共多少天,加上2018年前11⽉的天数第⼀部分,需要判断1900-2017年哪些年是闰年,哪些年是平年,闰年加366天,平年加365天。

第⼆部分,需要判断2018年是闰年还是平年,进⽽判断2⽉是28天还是29天,⽤循环将输⼊的2018年的天数进⾏累加。

提⽰2:利⽤公式 星期⼏=1+总天数%7(取余7值为0-6,加1为1-7,1代表星期⼀,7代表星期⽇)eg:输⼊的是2018年3⽉,利⽤公式求出2018年3⽉1⽇是星期四,第⼀⾏输出3个tab键(循环三次输出三个"\t"),接着输出1-31⽇,每7个换⾏,当(tab键的个数+⽇期的值)%7==0时换⾏,例如2017年3⽉第⼀⾏,3个tab键+"4号"换⾏# -*- coding:UTF-8 -*-year=int(input("请输⼊年份:"))month=int(input("请输⼊⽉份:"))print ('----------------------万年历-----------------------')print ('----------------------%d年%d⽉----------------------'%(year,month))print ("星期⼀\t星期⼆\t星期三\t星期四\t星期五\t星期六\t星期⽇\t")day=0for i in range(1900,year):if (i%4==0 and i%100!=0) or i%400==0:day+=366else:day+=365def days(x,y):if (y%4==0 and y%100!=0) or y%400==0:a=[0,31,29,31,30,31,30,31,31,30,31,30,31]return a[x]else:a=[0,31,28,31,30,31,30,31,31,30,31,30,31]return a[x]monthdays=0for j in range(0,month):monthdays+=days(j,year)totaldays=monthdays+dayspace=int(totaldays%7)for i in range(space):print '\t',for k in range(1,days(month,year)+1):print "%3d\t"%k,if (k+space)%7==0:print '\n'运⾏效果:其他⽅法:直接导⼊⽇历库while 1:import calendara=int(input('输⼊年份:')) b=int(input('输⼊⽉份:')) cal=calendar.month(a,b) print cal。

软件测试(万年历)

软件测试(万年历)

目录摘要 (1)1引言 (2)1.1编写目的 (2)1.2背景 (2)2软件测试 (2)2.1简介 (2)2.2方法 (2)2.3测试项目 (3)3.软件设计 (3)4.软件测试图 (4)4.1软件测试方法 (4)4.2软件测试内容 (4)4.2.1等价类测试 (4)4.2.2 边界值测试 (5)4.2.3 因果图 (5)4.2.4 其他功能测试 (5)4.3测试用例 (5)4.3.1 等价类测试用例 (5)4.3.2 边界值测试用例 (6)4.4软件后期改进展望 (10)5.总结 (10)参考文献 (11)摘要万年历是一个强大的日历系统,它可以显示当前的日期与时间,而且还可以通过它可以实现对过去,现在以及将来日期的查询,在查询日期时有两种选择方式,第一从下拉列表控件中选择年份与月份,另一个你可以通过手动输入年份月月份来进行查询,则可得到相应的日历,还可以在本日历上右击鼠标,及会出现菜单,当你点击时,将会将日历的显示转到今天。

本系统还实现了系统托盘的功能,并且通过鼠标右键点击系统图标来进行该系统的显示与退出。

关键词:万年历,界面设计,系统托盘,实用,便捷1引言1.1编写目的根据测试计划报告,对软件进行测试,详细记录测试过程,以对软件的质量进行评价,为软件设计人员提供BUG依据,故做产生测试分析报告。

1.2背景为了使改系统更加完善,使用户能够有更好更加方便的体验,且针对其中出现的一些问题,进行修改,使其更加完善,方便。

2软件测试2.1简介软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。

执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。

2.2方法软件测试的主要方法包括黑盒测试和白盒测试:白盒测试:是通过程序的源代码进行测试而不使用用户界面。

这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。

excel中农历国历的相互转换方法及代码

excel中农历国历的相互转换方法及代码

打开相应的excel表格,按Alt+F11打开VBA编辑器,点击插入—插入模块,将下面代码粘贴上去,点击保存后关闭该窗口。

接着在相应单元格调用下面四个函数即可实现相应的功能了。

适用于1901-2100年间=lunar("2006-11-1") 求阳历2006-11-1日对应的阴历=solar("2006-1-1") 求阴历2006年正月初一对应的阳历=lunarbirth("1975-5-6") 阴历生日:阳历1975年5月6日出生,今年阴历生日时对应的阳历日期=solarbirth("1975-5-6") 阳历生日:阳历1975年5月6日出生,今年阳历生日时对应的阳历日期1.'阴阳历转换和阴阳历生日2.'Version: 1.1 2005-9-13.'Author: James Zhuang4.'Lunar(SolarDate[, Part = 0 | 1 | 2 | 3]) 阳历转换成阴历5.' Part = 0, all; Part = 1, lunar year; Part = 2, lunarmonth; Part = 3, lunar day6.'Solar(LunarDate[, LunarMonth = 0 | 1]) 阴历转换成阳历7.Type ConvDataA8. leapmonth As Integer9. month(1 To 13) As Integer10. sp_month As Integer 'Solar month of Spring Festival11. sp_day As Integer 'Solar day of Spring Festival12.End Type13.Private Function LunarData(q_year) As ConvDataA14. Dim d As Long15. Dim month(1 To 13) As Integer16.'1901-210017.LunarCal = Array(&H4AE53, &HA5748, &H5526BD, &HD2650, &HD9544, &H46AAB9, &H56A4D,&H9AD42, &H24AEB6, &H4AE4A, _18.&H6A4DBE, &HA4D52, &HD2546, &H5D52BA, &HB544E, &HD6A43, &H296D37, &H95B4B,&H749BC1, &H49754, _19.&HA4B48, &H5B25BC, &H6A550, &H6D445, &H4ADAB8, &H2B64D, &H95742, &H2497B7,&H4974A, &H664B3E, _20.&HD4A51, &HEA546, &H56D4BA, &H5AD4E, &H2B644, &H393738, &H92E4B, &H7C96BF,&HC9553, &HD4A48, _21.&H6DA53B, &HB554F, &H56A45, &H4AADB9, &H25D4D, &H92D42, &H2C95B6, &HA954A,&H7B4ABD, &H6CA51, _22.&HB5546, &H555ABB, &H4DA4E, &HA5B43, &H352BB8, &H52B4C, &H8A953F, &HE9552,&H6AA48, &H7AD53C, _23.&HAB54F, &H4B645, &H4A5739, &HA574D, &H52642, &H3E9335, &HD9549, &H75AABE,&H56A51, &H96D46, _24.&H54AEBB, &H4AD4F, &HA4D43, &H4D26B7, &HD254B, &H8D52BF, &HB5452, &HB6A47,&H696D3C, &H95B50, _25.&H49B45, &H4A4BB9, &HA4B4D, &HAB25C2, &H6A554, &H6D449, &H6ADA3D, &HAB651,&H93746, &H5497BB, _26.&H4974F, &H64B44, &H36A537, &HEA54A, &H86B2BF, &H5AC53, &HAB647, &H5936BC,&H92E50, &HC9645, _27.&H4D4AB8, &HD4A4C, &HDA541, &H25AA36, &H56A49, &H7AADBD, &H25D52, &H92D47,&H5C95BA, &HA954E, _28.&HB4A43, &H4B5537, &HAD54A, &H955ABF, &H4BA53, &HA5B48, &H652BBC, &H52B50,&HA9345, &H474AB9, _29.&H6AA4C, &HAD541, &H24DAB6, &H4B64A, &H69573D, &HA4E51, &HD2646, &H5E933A,&HD534D, &H5AA43, _30.&H36B537, &H96D4B, &HB4AEBF, &H4AD53, &HA4D48, &H6D25BC, &HD254F, &HD5244,&H5DAA38, &HB5A4C, _31.&H56D41, &H24ADB6, &H49B4A, &H7A4BBE, &HA4B51, &HAA546, &H5B52BA, &H6D24E,&HADA42, &H355B37, _32.&H9374B, &H8497C1, &H49753, &H64B48, &H66A53C, &HEA54F, &H6B244, &H4AB638,&HAAE4C, &H92E42, _33.&H3C9735, &HC9649, &H7D4ABD, &HD4A51, &HDA545, &H55AABA, &H56A4E, &HA6D43,&H452EB7, &H52D4B, _34.&H8A95BF, &HA9553, &HB4A47, &H6B553B, &HAD54F, &H55A45, &H4A5D38, &HA5B4C,&H52B42, &H3A93B6, _35.&H69349, &H7729BD, &H6AA51, &HAD546, &H54DABA, &H4B64E, &HA5743, &H452738,&HD264A, &H8E933E, _36.&HD5252, &HDAA47, &H66B53B, &H56D4F, &H4AE45, &H4A4EB9, &HA4D4C, &HD1541,&H2D92B5, &HD5349)37.startyear = 190138.ng = LunarCal(q_year - startyear)39. d = &H10000040. LunarData.leapmonth = Int(ng / d)41. ng = ng Mod d42. d = &H8043. mdata = Int(ng / d)44. ng = ng Mod d45. d = &H2046. LunarData.sp_month = Int(ng / d)47. LunarData.sp_day = ng Mod d48. d = &H100049. i = 150. Do51. LunarData.month(i) = 29 + Int(mdata / d)52. mdata = mdata Mod d53. If d = 1 Then Exit Do54. d = d / 255. i = i + 156. Loop57. If LunarData.leapmonth = 0 Then LunarData.month(i) = 058.End Function59.Function lunar(Solar_date As Date, Optional Part As Integer = 0) As String60.'Part = 0, all; Part = 1, lunar year; Part = 2, lunar month; Part = 3, lunar day61.Dim a As ConvDataA62.l_year = Year(Solar_date)63.a = LunarData(l_year)64.sp_date = DateSerial(l_year, a.sp_month, a.sp_day)65.If sp_date > Solar_date Then66. l_year = l_year - 167. a = LunarData(l_year)68. sp_date = DateSerial(l_year, a.sp_month, a.sp_day)69.End If70.l_day = Solar_date - sp_date71.l_month = 172.IS_lunar_leapmonth = False73.y = a.month(l_month)74.Do While l_day >= y75. l_day = l_day - y76. If l_month = a.leapmonth Then IS_lunar_leapmonth = (Not IS_lunar_leapmonth)77. If IS_lunar_leapmonth Then78. y = a.month(13)79. Else80. l_month = l_month + 181. y = a.month(l_month)82. End If83.Loop84.l_day = l_day + 185.lunar = l_year & "-" & l_month & "-" & l_day86.If IS_lunar_leapmonth Then lunar = lunar & "-L"87.lunar = Choose(Part + 1, lunar, l_year, l_month, l_day)88.End Function89.Function solar(Lunar_date, Optional IS_lunar_leapmonth As Integer = 0) As String90.'IS_lunar_leapmonth = 0, No leap month; IS_lunar_leapmonth = 1, is leap month91.Dim a As ConvDataA92.Lunar_date = Split(Lunar_date, "-")93.s_year = Lunar_date(0)94.For Each C In Lunar_date95. If C = "L" Then IS_lunar_leapmonth = 196.Next97.a = LunarData(s_year)98.sp_date = DateSerial(s_year, a.sp_month, a.sp_day)99.If Lunar_date(1) <> a.leapmonth Then IS_lunar_leapmonth = 0100.x = Lunar_date(2)101.tm = Lunar_date(1) + IS_lunar_leapmonth - 1102.For i = 1 To tm103. x = x + a.month(i)104. If i = a.leapmonth And IS_lunar_leapmonth = 0 Then105. x = x + a.month(13)106. End If107.Next108.s_date = sp_date + x - 1109.solar = s_date110.End Function111.Function lunarbirth(Solar_birthday As Date, Optional Inquire_year As Integer) As String112. If Inquire_year = 0 Then113. Inquire_year = Left(lunar(Now), 4)114. lunarbirth = solar(Inquire_year & Mid(lunar(Solar_birthday), 5, 10)) 115. If CDate(lunarbirth) < Now - 1 Then Inquire_year = Inquire_year + 1 116. End If117. lunarbirth = solar(Inquire_year & Mid(lunar(Solar_birthday), 5, 10)) 118.End Function119.Function solarbirth(Solar_birthday As Date, Optional Inquire_year As Integer) As String120. If Inquire_year = 0 Then121. Inquire_year = Year(Now)122. solarbirth = DateSerial(Inquire_year, month(Solar_birthday), Day(Solar_birthday))123. If CDate(solarbirth) < Now - 1 Then Inquire_year = Inquire_year + 1 124. End If125. solarbirth = DateSerial(Inquire_year, month(Solar_birthday), Day(Solar_birthday))126.End Function。

1900年的日历

1900年的日历

周一
周二
周三
周四
周五
周六
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1900年2月日历, 1900年2月万年历

周一
周二
周三
周四
周五
周六
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1900年2月日历, 1900年2月万年历]
1900年2月日历, 1900年2月万年历

周一
周二
周三
周四
周五
周六
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1900年2月日历, 1900年2月万年历

周一
周二
周三
周四
周五
周六
1
2
3
4
5
6
7
8
9

公历农历转换

公历农历转换

constSTART_YEAR=1901;END_YEAR=2050;//返回iYear年iMonth月的天数1年1月--- 65535年12月function MonthDays(iYear,iMonth:Word):Word;//返回阴历iLunarYer年阴历iLunarMonth月的天数,如果iLunarMonth为闰月,//高字为第二个iLunarMonth月的天数,否则高字为0 1901年1月---2050年12月function LunarMonthDays(iLunarYear,iLunarMonth:Word):Longword;//返回阴历iLunarYear年的总天数1901年1月---2050年12月function LunarYearDays(iLunarYear:Word):Word;//返回阴历iLunarYear年的闰月月份,如没有返回0 1901年1月---2050年12月function GetLeapMonth(iLunarYear:Word):Word;//把iYear年格式化成天干记年法表示的字符串procedure FormatLunarYear(iYear:Word;var pBuffer:string);overload;function FormatLunarYear(iYear:Word):string;overload;//把iMonth格式化成中文字符串procedure FormatMonth(iMonth:Word;var pBuffer:string;bLunar:Boolean=True);overload; function FormatMonth(iMonth:Word;bLunar:Boolean=True):string;overload;//把iDay格式化成中文字符串procedure FormatLunarDay(iDay:Word;var pBuffer:string);overload; 字串4function FormatLunarDay(iDay:Word):string;overload;//计算公历两个日期间相差的天数1年1月1日--- 65535年12月31日functionCalcDateDiff(iEndYear,iEndMonth,iEndDay:Word;iStartYear:Word=START_YEAR;iStartMonth: Word=1;iStartDay:Word=1):Longword;overload;function CalcDateDiff(EndDate,StartDate:TDateTime):Longword;overload;//计算公历iYear年iMonth月iDay日对应的阴历日期,返回对应的阴历节气0-24//1901年1月1日---2050年12月31日function GetLunarHolDay(InDate:TDateTime):string;overload;function GetLunarHolDay(iYear,iMonth,iDay:Word):string;overload;//private function--------------------------------------//计算从1901年1月1日过iSpanDays天后的阴历日期procedure l_CalcLunarDate(var iYear,iMonth,iDay:Word;iSpanDays:Longword);//计算公历iYear年iMonth月iDay日对应的节气0-24,0表不是节气function l_GetLunarHolDay(iYear,iMonth,iDay:Word):Word;implementationvar//数组gLunarDay存入阴历1901年到2100年每年中的月天数信息,//阴历每月只能是29或30天,一年用12(或13)个二进制位表示,对应位为1表30天,否则为29天字串4gLunarMonthDay:array[0..149] of Word=(//测试数据只有1901.1.1 --2050.12.31$4ae0, $a570, $5268, $d260, $d950, $6aa8, $56a0, $9ad0, $4ae8, $4ae0, //1910$a4d8, $a4d0, $d250, $d548, $b550, $56a0, $96d0, $95b0, $49b8, $49b0, //1920$a4b0, $b258, $6a50, $6d40, $ada8, $2b60, $9570, $4978, $4970, $64b0, //1930$d4a0, $ea50, $6d48, $5ad0, $2b60, $9370, $92e0, $c968, $c950, $d4a0, //1940$da50, $b550, $56a0, $aad8, $25d0, $92d0, $c958, $a950, $b4a8, $6ca0, //1950$b550, $55a8, $4da0, $a5b0, $52b8, $52b0, $a950, $e950, $6aa0, $ad50, //1960$ab50, $4b60, $a570, $a570, $5260, $e930, $d950, $5aa8, $56a0, $96d0, //1970$4ae8, $4ad0, $a4d0, $d268, $d250, $d528, $b540, $b6a0, $96d0, $95b0, //1980$49b0, $a4b8, $a4b0, $b258, $6a50, $6d40, $ada0, $ab60, $9370, $4978, //1990$4970, $64b0, $6a50, $ea50, $6b28, $5ac0, $ab60, $9368, $92e0, $c960, //2000$d4a8, $d4a0, $da50, $5aa8, $56a0, $aad8, $25d0, $92d0, $c958, $a950, //2010 字串6$b4a0, $b550, $b550, $55a8, $4ba0, $a5b0, $52b8, $52b0, $a930, $74a8, //2020$6aa0, $ad50, $4da8, $4b60, $9570, $a4e0, $d260, $e930, $d530, $5aa0, //2030$6b50, $96d0, $4ae8, $4ad0, $a4d0, $d258, $d250, $d520, $daa0, $b5a0, //2040$56d0, $4ad8, $49b0, $a4b8, $a4b0, $aa50, $b528, $6d20, $ada0, $55b0); //2050//数组gLanarMonth存放阴历1901年到2050年闰月的月份,如没有则为0,每字节存两年gLunarMonth:array[0..74] of Byte=($00, $50, $04, $00, $20, //1910$60, $05, $00, $20, $70, //1920$05, $00, $40, $02, $06, //1930$00, $50, $03, $07, $00, //1940$60, $04, $00, $20, $70, //1950$05, $00, $30, $80, $06, //1960$00, $40, $03, $07, $00, //1970$50, $04, $08, $00, $60, //1980$04, $0a, $00, $60, $05, //1990$00, $30, $80, $05, $00, //2000$40, $02, $07, $00, $50, //2010$04, $09, $00, $60, $04, //2020$00, $20, $60, $05, $00, //2030$30, $b0, $06, $00, $50, //2040字串5$02, $07, $00, $50, $03); //2050//数组gLanarHoliDay存放每年的二十四节气对应的阳历日期//每年的二十四节气对应的阳历日期几乎固定,平均分布于十二个月中// 1月2月3月4月5月6月//小寒大寒立春雨水惊蛰春分清明谷雨立夏小满芒种夏至// 7月8月9月10月11月12月//小暑大暑立秋处暑白露秋分寒露霜降立冬小雪大雪冬至{****************************************************************************** ***节气无任何确定规律,所以只好存表,要节省空间,所以....******************************************************************************* ***}//数据格式说明://如1901年的节气为// 1月2月3月4月5月6月7月8月9月10月11月12月// 6, 21, 4, 19, 6, 21, 5, 21, 6,22, 6,22, 8, 23, 8, 24, 8, 24, 8, 24, 8, 23, 8, 22// 9, 6, 11,4, 9, 6, 10,6, 9,7, 9,7, 7, 8, 7, 9, 7, 9, 7, 9, 7, 8, 7, 15//上面第一行数据为每月节气对应日期,15减去每月第一个节气,每月第二个节气减去15得第二行// 这样每月两个节气对应数据都小于16,每月用一个字节存放,高位存放第一个节气数据,低位存放//第二个节气的数据,可得下表gLunarHolDay:array[0..1799] of Byte=($96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1901$96, $A4, $96, $96, $97, $87, $79, $79, $79, $69, $78, $78, //1902$96, $A5, $87, $96, $87, $87, $79, $69, $69, $69, $78, $78, //1903$86, $A5, $96, $A5, $96, $97, $88, $78, $78, $79, $78, $87, //1904$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1905$96, $A4, $96, $96, $97, $97, $79, $79, $79, $69, $78, $78, //1906$96, $A5, $87, $96, $87, $87, $79, $69, $69, $69, $78, $78, //1907$86, $A5, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1908$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1909$96, $A4, $96, $96, $97, $97, $79, $79, $79, $69, $78, $78, //1910字串2$96, $A5, $87, $96, $87, $87, $79, $69, $69, $69, $78, $78, //1911$86, $A5, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1912$96, $B4, $96, $A6, $97, $97, $79, $79, $79, $69, $78, $78, //1914$96, $A5, $97, $96, $97, $87, $79, $79, $69, $69, $78, $78, //1915$96, $A5, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1916$95, $B4, $96, $A6, $96, $97, $78, $79, $78, $69, $78, $87, //1917$96, $B4, $96, $A6, $97, $97, $79, $79, $79, $69, $78, $77, //1918$96, $A5, $97, $96, $97, $87, $79, $79, $69, $69, $78, $78, //1919$96, $A5, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1920$95, $B4, $96, $A5, $96, $97, $78, $79, $78, $69, $78, $87, //1921$96, $B4, $96, $A6, $97, $97, $79, $79, $79, $69, $78, $77, //1922$96, $A4, $96, $96, $97, $87, $79, $79, $69, $69, $78, $78, //1923$96, $A5, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1924字串8$95, $B4, $96, $A5, $96, $97, $78, $79, $78, $69, $78, $87, //1925$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1926$96, $A4, $96, $96, $97, $87, $79, $79, $79, $69, $78, $78, //1927$96, $A5, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1928$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1929$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1930$96, $A4, $96, $96, $97, $87, $79, $79, $79, $69, $78, $78, //1931$96, $A5, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1932$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1933$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1934$96, $A4, $96, $96, $97, $97, $79, $79, $79, $69, $78, $78, //1935$96, $A5, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1936$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1937$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1938 字串1 $96, $A4, $96, $96, $97, $97, $79, $79, $79, $69, $78, $78, //1939$96, $A5, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1940$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1941$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1942$96, $A4, $96, $96, $97, $97, $79, $79, $79, $69, $78, $78, //1943$96, $A5, $96, $A5, $A6, $96, $88, $78, $78, $78, $87, $87, //1944 $95, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1945$95, $B4, $96, $A6, $97, $97, $78, $79, $78, $69, $78, $77, //1946$96, $B4, $96, $A6, $97, $97, $79, $79, $79, $69, $78, $78, //1947$96, $A5, $A6, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //1948$A5, $B4, $96, $A5, $96, $97, $88, $79, $78, $79, $77, $87, //1949 $95, $B4, $96, $A5, $96, $97, $78, $79, $78, $69, $78, $77, //1950$96, $B4, $96, $A6, $97, $97, $79, $79, $79, $69, $78, $78, //1951$96, $A5, $A6, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //1952 字串1 $A5, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1953$96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1955 $96, $A5, $A5, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //1956$A5, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1957 $95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1958 $96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1959 $96, $A4, $A5, $A5, $A6, $96, $88, $88, $88, $78, $87, $87, //1960$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1961 $96, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1962 $96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1963 $96, $A4, $A5, $A5, $A6, $96, $88, $88, $88, $78, $87, $87, //1964$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1965 $95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1966 $96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1967 $96, $A4, $A5, $A5, $A6, $A6, $88, $88, $88, $78, $87, $87, //1968$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1969 $95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1970 $96, $B4, $96, $A6, $97, $97, $78, $79, $79, $69, $78, $77, //1971 $96, $A4, $A5, $A5, $A6, $A6, $88, $88, $88, $78, $87, $87, //1972$A5, $B5, $96, $A5, $A6, $96, $88, $78, $78, $78, $87, $87, //1973 $95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1974 $96, $B4, $96, $A6, $97, $97, $78, $79, $78, $69, $78, $77, //1975 $96, $A4, $A5, $B5, $A6, $A6, $88, $89, $88, $78, $87, $87, //1976$A5, $B4, $96, $A5, $96, $96, $88, $88, $78, $78, $87, $87, //1977 字串5 $95, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $78, $87, //1978 $96, $B4, $96, $A6, $96, $97, $78, $79, $78, $69, $78, $77, //1979 $96, $A4, $A5, $B5, $A6, $A6, $88, $88, $88, $78, $87, $87, //1980$A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $77, $87, //1981 $95, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1982 $95, $B4, $96, $A5, $96, $97, $78, $79, $78, $69, $78, $77, //1983 $96, $B4, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $87, //1984$A5, $B4, $A6, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //1985$A5, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //1986 $95, $B4, $96, $A5, $96, $97, $88, $79, $78, $69, $78, $87, //1987 $96, $B4, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //1988$A5, $B4, $A5, $A5, $A6, $96, $88, $88, $88, $78, $87, $87, //1989$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $79, $77, $87, //1990 $95, $B4, $96, $A5, $86, $97, $88, $78, $78, $69, $78, $87, //1991字串2$96, $B4, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //1992$A5, $B3, $A5, $A5, $A6, $96, $88, $88, $88, $78, $87, $87, //1993$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1994 $95, $B4, $96, $A5, $96, $97, $88, $76, $78, $69, $78, $87, //1995$A5, $B3, $A5, $A5, $A6, $A6, $88, $88, $88, $78, $87, $87, //1997$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //1998$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //1999$96, $B4, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //2000$A5, $B3, $A5, $A5, $A6, $A6, $88, $88, $88, $78, $87, $87, //2001$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //2002$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //2003$96, $B4, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //2004$A5, $B3, $A5, $A5, $A6, $A6, $88, $88, $88, $78, $87, $87, //2005 字串3 $A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2006$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $69, $78, $87, //2007$96, $B4, $A5, $B5, $A6, $A6, $87, $88, $87, $78, $87, $86, //2008$A5, $B3, $A5, $B5, $A6, $A6, $88, $88, $88, $78, $87, $87, //2009$A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2010$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $78, $87, //2011$96, $B4, $A5, $B5, $A5, $A6, $87, $88, $87, $78, $87, $86, //2012$A5, $B3, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $87, //2013$A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2014$95, $B4, $96, $A5, $96, $97, $88, $78, $78, $79, $77, $87, //2015$95, $B4, $A5, $B4, $A5, $A6, $87, $88, $87, $78, $87, $86, //2016$A5, $C3, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $87, //2017$A5, $B4, $A6, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2018$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $79, $77, $87, //2019字串2$95, $B4, $A5, $B4, $A5, $A6, $97, $87, $87, $78, $87, $86, //2020$A5, $C3, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //2021$A5, $B4, $A5, $A5, $A6, $96, $88, $88, $88, $78, $87, $87, //2022$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $79, $77, $87, //2023$95, $B4, $A5, $B4, $A5, $A6, $97, $87, $87, $78, $87, $96, //2024$A5, $C3, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //2025$A5, $B3, $A5, $A5, $A6, $A6, $88, $88, $88, $78, $87, $87, //2026$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //2027$95, $B4, $A5, $B4, $A5, $A6, $97, $87, $87, $78, $87, $96, //2028$A5, $C3, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //2029$A5, $B3, $A5, $A5, $A6, $A6, $88, $88, $88, $78, $87, $87, //2030$A5, $B4, $96, $A5, $96, $96, $88, $78, $78, $78, $87, $87, //2031$95, $B4, $A5, $B4, $A5, $A6, $97, $87, $87, $78, $87, $96, //2032$A5, $C3, $A5, $B5, $A6, $A6, $88, $88, $88, $78, $87, $86, //2033$A5, $B3, $A5, $A5, $A6, $A6, $88, $78, $88, $78, $87, $87, //2034$A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2035$95, $B4, $A5, $B4, $A5, $A6, $97, $87, $87, $78, $87, $96, //2036$A5, $C3, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $86, //2037$A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2039$95, $B4, $A5, $B4, $A5, $A6, $97, $87, $87, $78, $87, $96, //2040$A5, $C3, $A5, $B5, $A5, $A6, $87, $88, $87, $78, $87, $86, //2041$A5, $B3, $A5, $B5, $A6, $A6, $88, $88, $88, $78, $87, $87, //2042$A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2043$95, $B4, $A5, $B4, $A5, $A6, $97, $87, $87, $88, $87, $96, //2044$A5, $C3, $A5, $B4, $A5, $A6, $87, $88, $87, $78, $87, $86, //2045 字串7 $A5, $B3, $A5, $B5, $A6, $A6, $87, $88, $88, $78, $87, $87, //2046$A5, $B4, $96, $A5, $A6, $96, $88, $88, $78, $78, $87, $87, //2047$95, $B4, $A5, $B4, $A5, $A5, $97, $87, $87, $88, $86, $96, //2048$A4, $C3, $A5, $A5, $A5, $A6, $97, $87, $87, $78, $87, $86, //2049$A5, $C3, $A5, $B5, $A6, $A6, $87, $88, $78, $78, $87, $87); //2050function MonthDays(iYear,iMonth:Word):Word;begincase iMonth of1,3,5,7,8,10,12: Result:=31;4,6,9,11: Result:=30;2://如果是闰年if IsLeapYear(iYear) thenResult:=29elseResult:=28elseResult:=0;end;end;function GetLeapMonth(iLunarYear:Word):Word;varFlag:Byte;beginFlag:=gLunarMonth[(iLunarYear-START_YEAR) div 2];if (iLunarYear-START_YEAR) mod 2=0 thenResult:=Flag shr 4elseResult:=Flag and $0F;end;function LunarMonthDays(iLunarYear,iLunarMonth:Word):Longword;varHeight,Low:Word;iBit:Integer;beginif iLunarYear beginResult:=30;Exit;end;Height:=0;Low:=29;iBit:=16-iLunarMonth;if (iLunarMonth>GetLeapMonth(iLunarYear)) and (GetLeapMonth(iLunarYear)>0) then Dec(iBit);if (gLunarMonthDay[iLunarYear-START_YEAR] and (1 shl iBit))>0 thenInc(Low);if iLunarMonth=GetLeapMonth(iLunarYear) thenif (gLunarMonthDay[iLunarYear-START_YEAR] and (1 shl (iBit-1)))>0 then Height:=30elseHeight:=29;Result:=MakeLong(Low,Height);end;function LunarYearDays(iLunarYear:Word):Word;varDays,i:Word;tmp:Longword;beginDays:=0;for i:=1 to 12 dobegintmp:=LunarMonthDays(iLunarYear,i);Days:=Days HiWord(tmp);Days:=Days LoWord(tmp);end;Result:=Days;end;procedure FormatLunarYear(iYear:Word;var pBuffer:string);varszText1,szText2,szText3:string;beginszText1:=´甲乙丙丁戊己庚辛壬癸´;szText2:=´子丑寅卯辰巳午未申酉戌亥´;szText3:=´鼠牛虎免龙蛇马羊猴鸡狗猪´;pBuffer:=Copy(szText1,((iYear-4) mod 10)*2 1,2);pBuffer:=pBuffer Copy(szText2,((iYear-4) mod 12)*2 1,2);pBuffer:=pBuffer ´ ´;pBuffer:=pBuffer Copy(szText3,((iYear-4) mod 12)*2 1,2);pBuffer:=pBuffer ´年´;end;function FormatLunarYear(iYear:Word):string;varpBuffer:string;beginFormatLunarYear(iYear,pBuffer);Result:=pBuffer;end;procedure FormatMonth(iMonth:Word;var pBuffer:string;bLunar:Boolean); varszText:string;beginif (not bLunar) and (iMonth=1) thenbeginpBuffer:=´一月´;Exit;end;szText:=´正二三四五六七八九十´;if iMonth<=10 thenbeginpBuffer:=´ ´;pBuffer:=pBuffer Copy(szText,(iMonth-1)*2 1,2);pBuffer:=pBuffer ´月´;Exit;end;if iMonth=11 thenpBuffer:=´十一´字串2elsepBuffer:=´十二´;pBuffer:=pBuffer ´月´;function FormatMonth(iMonth:Word;bLunar:Boolean):string;varpBuffer:string;beginFormatMonth(iMonth,pBuffer,bLunar);Result:=pBuffer;end;procedure FormatLunarDay(iDay:Word;var pBuffer:string);varszText1,szText2:string;beginszText1:=´初十廿三´;szText2:=´一二三四五六七八九十´;if (iDay<>20) and (iDay<>30) thenbeginpBuffer:=Copy(szText1,((iDay-1) div 10)*2 1,2);pBuffer:=pBuffer Copy(szText2,((iDay-1) mod 10)*2 1,2);endelsebeginpBuffer:=Copy(szText1,(iDay div 10)*2 1,2);pBuffer:=pBuffer ´十´;end;end;function FormatLunarDay(iDay:Word):string;varpBuffer:string;beginFormatLunarDay(iDay,pBuffer);Result:=pBuffer;end;functionCalcDateDiff(iEndYear,iEndMonth,iEndDay:Word;iStartYear:Word;iStartMonth:Word;iStartDay: Word):Longword;beginResult:=Trunc(EncodeDate(iEndYear,iEndMonth,iEndDay)-EncodeDate(iStartYear,iStartMonth,i StartDay));end;function CalcDateDiff(EndDate,StartDate:TDateTime):Longword;beginResult:=Trunc(EndDate-StartDate);end;procedure l_CalcLunarDate(var iYear,iMonth,iDay:Word;iSpanDays:Longword); vartmp:Longword;begin//阳历1901年2月19日为阴历1901年正月初一//阳历1901年1月1日到2月19日共有49天if iSpanDays<49 thenbeginiYear:=START_YEAR-1;if iSpanDays<19 thenbeginiMonth:=11;iDay:=11 Word(iSpanDays);endelsebeginiMonth:=12;iDay:=Word(iSpanDays)-18;end;Exit;end;//下面从阴历1901年正月初一算起iSpanDays:=iSpanDays-49;iYear:=START_YEAR;iMonth:=1;iDay:=1;//计算年tmp:=LunarYearDays(iYear);字串7while iSpanDays>=tmp dobeginiSpanDays:=iSpanDays-tmp;Inc(iYear);tmp:=LunarYearDays(iYear);end;//计算月tmp:=LoWord(LunarMonthDays(iYear,iMonth));while iSpanDays>=tmp dobeginiSpanDays:=iSpanDays-tmp;if iMonth=GetLeapMonth(iYear) thenbegintmp:=HiWord(LunarMonthDays(iYear,iMonth));if iSpanDays iSpanDays:=iSpanDays-tmp;end;Inc(iMonth);tmp:=LoWord(LunarMonthDays(iYear,iMonth));end;//计算日iDay:=iDay Word(iSpanDays);end;function l_GetLunarHolDay(iYear,iMonth,iDay:Word):Word; varFlag:Byte;Day:Word;beginFlag:=gLunarHolDay[(iYear-START_YEAR)*12 iMonth-1]; if iDay<15 thenDay:=15-((Flag shr 4) and $0f)elseDay:=(Flag and $0f) 15;if iDay=Day thenif iDay>15 thenResult:=(iMonth-1)*2 2elseResult:=(iMonth-1)*2 1elseResult:= 0;end;字串3function GetLunarHolDay(InDate:TDateTime):string;vari,iYear,iMonth,iDay:Word;beginDecodeDate(InDate,iYear,iMonth,iDay);i:=l_GetLunarHolDay(iYear,iMonth,iDay);case i of1:Result:=´小寒´;2:Result:=´大寒´;3:Result:=´立春´;4:Result:=´雨水´;5:Result:=´惊蛰´;6:Result:=´春分´;7:Result:=´清明´;8:Result:=´谷雨´;9:Result:=´立夏´;10:Result:=´小满´;11:Result:=´芒种´;12:Result:=´夏至´;13:Result:=´小暑´;14:Result:=´大暑´;15:Result:=´立秋´;16:Result:=´处暑´;17:Result:=´白露´;18:Result:=´秋分´;19:Result:=´寒露´;20:Result:=´霜降´;21:Result:=´立冬´;22:Result:=´小雪´;字串223:Result:=´大雪´;24:Result:=´冬至´;elsel_CalcLunarDate(iYear,iMonth,iDay,CalcDateDiff(InDate,EncodeDate(START_YEAR,1,1))); Result := trim(FormatMonth(iMonth) FormatLunarDay(iDay));end;end;function GetLunarHolDay(iYear,iMonth,iDay:Word):string;beginResult:=GetLunarHolDay(EncodeDate(iYear,iMonth,iDay));end;end.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2016 年 年 历
2016 一
2016年01月




01 十一月廿 二 08 六
02 十一月廿 三 09 十一月三 十 16 腊月初七 23 腊月十四 30 腊月廿一
04 十一月廿 五 11 腊月初二 18 腊月初九 25 腊月十六
05 十一月廿 六 12 腊月初三 19 腊月初十 26 腊月十七
03 十月初四 10 十月十一 17 十月十八 24 十月廿五 五
04 十月初五 11 十月十二 18 十月十九 5 十月廿六 六
05 十月初六 12 十月十三 19 十月二十 26 十月廿七 日
06 十月初七 13 十月十四 20 十月廿一 27 十月廿八
2016/12/1
2016年12月






01 三月廿五
2016/6/1
2016年06月


01 四月廿六 四
02 四月廿七 09 五月初五 16 五月十二 23 五月十九 30 五月廿六 五
03 四月廿八 10 五月初六 17 五月十三 24 五月二十 六
04 四月廿九 11 五月初七 18 五月十四 25 五月廿一 日
05 五月初一 12 五月初八 19 五月十五 26 五月廿二



04 二月廿七 11 三月初五 18 三月十二 25 三月十九
05 二月廿八 12 三月初六 19 三月十三 26 三月二十
06 二月廿九 13 三月初七 20 三月十四 27 三月廿一
07 三月初一 14 三月初八 21 三月十五 28 三月廿二
06 07 十一月廿 十一月廿八 十一月廿 七 九 13 14 15 腊月初四 腊月初五 腊月初六 20 腊月十一 27 腊月十八 21 腊月十二 28 腊月十九 22 腊月十三 29 腊月二十
2016/1/1 日
03 十一月廿 四 10 腊月初一 17 腊月初八 24 腊月十五 31 腊月廿二
2016/2/1 一
08 三月初二 15 三月初九 22 三月十六 29 三月廿三
02 三月廿六 09 四月初三 16 四月初十 23 四月十七 30 四月廿四
03 三月廿七 10 四月初四 17 四月十一 24 四月十八 31 四月廿五
04 三月廿八 11 四月初五 18 四月十二 25 四月十九
05 三月廿九 12 四月初六 19 四月十三 26 四月二十
07 九月初七 14 九月十四 21 九月廿一 28 九月廿八
08 九月初八 15 九月十五 22 九月廿二 29 九月廿九
07 十月初八 14 十月十五 21 十月廿二 28 十月廿九
08 十月初九 15 十月十六 22 十月廿三 29 十一月初 一
05 十一月初 七 12 十一月十 四 19 十一月廿 一 26 十一月廿 八
04 八月初四 11 八月十一 18 八月十八 25 八月廿五


01 六月廿九 08 七月初六 15 七月十三 22 七月二十 29 七月廿七

04 六月初一 11 六月初八 18 六月十五 25 六月廿二
05 六月初二 12 六月初九 19 六月十六 26 六月廿三
06 六月初三 13 六月初十 20 六月十七 27 六月廿四
08 八月初八 15 八月十五 22 八月廿二 29 八月廿九
2016/10/1
2016年10月





01 九月初一 日
02 九月初二 09 九月初九 16 九月十六 23 九月廿三 30 九月三十
2016/11/1
2016年11月

01 十月初二 三
02 十月初三 09 十月初十 16 十月十七 23 十月廿四 30 十一月初 二 四
06 七月初四 13 七月十一 20 七月十八 27 七月廿五 日
07 七月初五 14 七月十二 21 七月十九 28 七月廿六
2016/9/1
2016年09月



01 八月初一 五
02 八月初二 09 八月初九 16 八月十六 23 八月廿三 30 八月三十 六
03 八月初三 10 八月初十 17 八月十七 24 八月廿四 日
04 十一月初 六 11 十一月十 三 18 十一月二 十 25 十一月廿 七



03 九月初三 10 九月初十 17 九月十七 24 九月廿四 31 十月初一
04 九月初四 11 九月十一 18 九月十八 25 九月廿五
05 九月初五 12 九月十二 19 九月十九 26 九月廿六
06 九月初六 13 九月十三 20 九月二十 27 九月廿七
06 十一月初 八 13 十一月十 五 20 十一月廿 二 27 十一月廿 九
07 十一月初 九 14 十一月十 六 21 十一月廿 三 28 十一月三 十
2016年08月

02 六月三十 09 七月初七 16 七月十四 23 七月廿一 30 七月廿八 三
03 七月初一 10 七月初八 17 七月十五 24 七月廿二 31 七月廿九 四
04 七月初二 11 七月初九 18 七月十六 25 七月廿三 五
05 七月初三 12 七月初十 19 七月十七 26 七月廿四 六
06 三月三十 13 四月初七 20 四月十四 27 四月廿一
07 四月初一 14 四月初八 21 四月十五 28 四月廿二
08 四月初二 15 四月初九 22 四月十六 29 四月廿三
06 五月初二 13 五月初九 20 五月十六 27 五月廿三
07 五月初三 14 五月初十 21 五月十七 28 五月廿四
08 五月初四 15 五月十一 22 五月十八 29 五月廿五
2016/7/1
2016年07月




01 五月廿七 六
02 五月廿八 09 六月初六 16 六月十三 23 六月二十 30 六月廿七 日
03 五月廿九 10 六月初七 17 六月十四 24 六月廿一 31 六月廿八
2016/8/1
05 腊月廿七 12 正月初五 19 正月十二 26 正月十九 六
06 腊月廿八 13 正月初六 20 正月十三 27 正月二十 日
07 腊月廿九 14 正月初七 21 正月十四 28 正月廿一
2016/3/1 一
2016年03月

01 正月廿三 三
02 正月廿四 09 二月初一 16 二月初八 23 二月十五 30 二月廿二 四
07 六月初四 14 六月十一 21 六月十八 28 六月廿五
08 六月初五 15 六月十二 22 六月十九 29 六月廿六
05 八月初五 12 八月十二 19 八月十九 26 八月廿六
06 八月初六 13 八月十三 20 八月二十 27 八月廿七
07 八月初七 14 八月十四 21 八月廿一 28 八月廿八
03 正月廿五 10 二月初二 17 二月初九 24 二月十六 31 二月廿三 五
04 正月廿六 11 二月初三 18 二月初十 25 二月十七 六
05 正月廿七 12 二月初四 19 二月十一 26 二月十八 日
06 正月廿八 13 二月初五 20 二月十二 27 二月十九
07 正月廿九 14 二月初六 21 二月十三 28 二月二十
08 正月三十 15 二月初七 22 二月十四 29 二月廿一
2016/4/1
2016年04月




01 二月廿四 六
02 二月廿五 09 三月初三 16 三月初十 23 三月十七 30 三月廿四 日
03 二月廿六 10 三月初四 17 三月十一 24 三月十八
2016/5/1
2016年05月
01 腊月廿三 08 正月初一 15 正月初八 22 正月十五 29 正月廿二
2016年02月

02 腊月廿四 09 正月初二 16 正月初九 23 正月十六 三
03 腊月廿五 10 正月初三 17 正月初十 24 正月十七 四
04 腊月廿六 11 正月初四 18 正月十一 25 正月十八 五




02 01 十一月初三 十一月初 四 09 08 十一月十 十一月初十 一 16 15 十一月十 十一月十七 八 23 22 十一月廿四 十一月廿 五 29 30 腊月初一 腊月初二 六
03 十一月初 五 10 十一月十 二 17 十一月十 九 24 十一月廿 六 31 腊月初三 日
相关文档
最新文档