手动制作日历
使用系统;
命名空间CNCalendar
{
公共类CNDate
{
private const ushort START _ YEAR = 1901;
private const ushort END _ YEAR = 2050;
私有字符串[] ConstellationName =
{
白羊座,金牛座,双子座,
“巨蟹座”、“狮子座”、“处女座”,
天秤座,天蝎座,射手座,
“摩羯座”、“水瓶座”、“双鱼座”;
私有字符串[] LunarHolDayName =
{
“小寒”、“大寒”、“立春”、“下雨”,
《惊魂》、《春分》、《清明》、《谷雨》、
《长夏》、《小满》、《茫中》、《夏日至日》、
“小暑”“大暑”“立秋”“初夏”,
《白露》《秋分》《寒露》《初霜》,
《立冬》、《小雪》、《大雪》、《冬天的至日》};
//一个月中从1901到2100的日期数组存储在gLunarDay日历中。
//农历每个月只能是29或30天,一年用12(或13)二进制数表示,对应1为30天,否则为29天。
private int[] gLunarMonthDay = {
//测试数据只有1901.1-2050.12.438+0。
0x4ae0,0xa570,0x5268,0xd260,0xd950,0x6aa8,0x56a0,0x9ad0,0x4ae8,0x4ae0,//1910
0x4d 8,0x4d 0,0xd250,0xd548,0xb550,0x56a0,0x96d0,0x95b0,0x49b8,0x49b0,//1920
0x4b 0,0xb258,0x6a50,0x6d40,0xada8,0x2b60,0x9570,0x4978,0x4970,0x64b0,//1930
0xd4a0,0xea50,0x6d48,0x5ad0,0x2b60,0x9370,0x92e0,0xc968,0xc950,0xd4a0,//1940
0xda50,0xb550,0x56a0,0xaad8,0x25d0,0x92d0,0xc958,0xa950,0xb4a8,0x6ca0,//1950
0xb550、0x55a8、0x4da0、0xa5b0、0x52b8、0x52b0、0xa950、0xe950、0x6aa0、0xad50、//1960
0xab50,0x4b60,0xa570,0xa570,0x5260,0xe930,0xd950,0x5aa8,0x56a0,0x96d0,//1970
0x4ae8、0x4ad0、0x4d 0、0xd268、0xd250、0xd528、0xb540、0xb6a0、0x96d0、0x95b0、//1980
0x49b0,0x4b 8,0x4b 0,0xb258,0x6a50,0x6d40,0xada0,0xab60,0x9370,0x4978,//1990
0x4970、0x64b0、0x6a50、0xea50、0x6b28、0x5ac0、0xab60、0x9368、0x92e0、0xc960、//2000
0xd4a8、0xd4a0、0xda50、0x5aa8、0x56a0、0xaad8、0x25d0、0x92d0、0xc958、0xa950、//2010
0xb4a0、0xb550、0xb550、0x55a8、0x4ba0、0xa5b0、0x52b8、0x52b0、0xa930、0x74a8、//2020
0x6aa0、0xad50、0x4da8、0x4b60、0x9570、0x4e 0、0xd260、0xe930、0xd530、0x5aa0、//2030
0x6b50、0x96d0、0x4ae8、0x4ad0、0x4d 0、0xd258、0xd250、0xd520、0xdaa0、0xb5a0、//2040
0x56d0,0x4ad8,0x49b0,0x4b 8,0x4b 0,0xaa50,0xb528,0x6d20,0xada0,0x55b 0 };//2050
//数组gLanarMonth存储农历1901到2050年闰月的月份。如果没有这样的月份,则为0,每个字节存储两年。
byte[] gLunarMonth ={
0x00,0x50,0x04,0x00,0x20,//1910
0x60,0x05,0x00,0x20,0x70,//1920
0x05,0x00,0x40,0x02,0x06,//1930
0x00,0x50,0x03,0x07,0x00,//1940
0x60,0x04,0x00,0x20,0x70,//1950
0x05,0x00,0x30,0x80,0x06,//1960
0x00,0x40,0x03,0x07,0x00,//1970
0x50,0x04,0x08,0x00,0x60,//1980
0x04,0,0x00,0x60,0x05,//1990
0x00,0x30,0x80,0x05,0x00,//2000
0x40,0x02,0x07,0x00,0x50,//2010
0x04、0x09、0x00、0x60、0x04、//2020
0x00、0x20、0x60、0x05、0x00、//2030
0x30、0xb0、0x06、0x00、0x50、//2040
0x02、0x07、0x00、0x50、0x 03 };//2050
//数组gLanarHoliDay存储每年二十四节气对应的阳历日期。
//二十四节气对应的阳历日期几乎是固定的,平均分布在十二个月。
// 1二月三月四月五月六月
//小寒,严寒,立春,下雨,惊蛰,春分,清明,谷雨,长夏,小满芒果,夏至日。
//7月8月9月65438+10月165438+10月65438+2月
//小暑立秋暑白露秋分寒露初霜立冬小雪大雪冬至日
//**********************************
//节气没有确定的规律,我们要存表节省空间,所以....
//**********************************}
//数据格式描述:
//比如1901年的节气是
// 1二月三月四月五月七月八月九月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,每个月存储一个字节,第一个节气数据存储在高位和低位。
//第二个节气的数据可以从下表得到。
byte[] gLunarHolDay ={
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1901
0x96,0xA4,0x96,0x96,0x97,0x87,0x79,0x79,0x79,0x69,0x78,0x78,//1902
0x96,0xA5,0x87,0x96,0x87,0x87,0x79,0x69,0x69,0x78,0x78,//1903
0x86,0xA5,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x78,0x87,//1904
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1905
0x96,0xA4,0x96,0x96,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1906
0x96,0xA5,0x87,0x96,0x87,0x87,0x79,0x69,0x69,0x78,0x78,//1907
0x86,0xA5,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1908
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1909
0x96,0xA4,0x96,0x96,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1910
0x96,0xA5,0x87,0x96,0x87,0x87,0x79,0x69,0x69,0x78,0x78,//1911
0x86,0xA5,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1912
0x95,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1913
0x96,0xB4,0x96,0xA6,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1914
0x96,0xA5,0x97,0x96,0x97,0x87,0x79,0x79,0x69,0x69,0x78,0x78,//1915
0x96,0xA5,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1916
0x95,0xB4,0x96,0xA6,0x96,0x97,0x78,0x79,0x78,0x69,0x78,0x87,//1917
0x96,0xB4,0x96,0xA6,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x77,//1918
0x96,0xA5,0x97,0x96,0x97,0x87,0x79,0x79,0x69,0x69,0x78,0x78,//1919
0x96,0xA5,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1920
0x95,0xB4,0x96,0xA5,0x96,0x97,0x78,0x79,0x78,0x69,0x78,0x87,//1921
0x96,0xB4,0x96,0xA6,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x77,//1922
0x96,0xA4,0x96,0x96,0x97,0x87,0x79,0x79,0x69,0x69,0x78,0x78,//1923
0x96,0xA5,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1924
0x95,0xB4,0x96,0xA5,0x96,0x97,0x78,0x79,0x78,0x69,0x78,0x87,//1925
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1926
0x96,0xA4,0x96,0x96,0x97,0x87,0x79,0x79,0x79,0x69,0x78,0x78,//1927
0x96、0xA5、0x96、0xA5、0x96、0x96、0x88、0x78、0x78、0x87、0x87、//1928
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1929
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1930
0x96,0xA4,0x96,0x96,0x97,0x87,0x79,0x79,0x79,0x69,0x78,0x78,//1931
0x96、0xA5、0x96、0xA5、0x96、0x96、0x88、0x78、0x78、0x87、0x87、//1932
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1933
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1934
0x96,0xA4,0x96,0x96,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1935
0x96,0xA5,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x78,0x87,0x87,//1936
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1937
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1938
0x96,0xA4,0x96,0x96,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1939
0x96、0xA5、0x96、0xA5、0x96、0x96、0x88、0x78、0x78、0x87、0x87、//1940
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1941
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1942
0x96,0xA4,0x96,0x96,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1943
0x96,0xA5,0x96,0xA5,0xA6,0x96,0x88,0x78,0x78,0x87,0x87,//1944
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1945
0x95,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x78,0x69,0x78,0x77,//1946
0x96,0xB4,0x96,0xA6,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1947
0x96,0xA5,0xA6,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//1948
0xA5,0xB4,0x96,0xA5,0x96,0x97,0x88,0x79,0x78,0x79,0x77,0x87,//1949
0x95,0xB4,0x96,0xA5,0x96,0x97,0x78,0x79,0x78,0x69,0x78,0x77,//1950
0x96,0xB4,0x96,0xA6,0x97,0x97,0x79,0x79,0x79,0x69,0x78,0x78,//1951
0x96,0xA5,0xA6,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//1952
0xA5,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1953
0x95,0xB4,0x96,0xA5,0x96,0x97,0x78,0x79,0x78,0x68,0x78,0x87,//1954
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1955
0x96,0xA5,0xA5,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//1956
0xA5,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1957
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1958
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1959
0x96,0xA4,0xA5,0xA5,0xA6,0x96,0x88,0x88,0x88,0x78,0x87,0x87,//1960
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//1961
0x96,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1962
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1963
0x96,0xA4,0xA5,0xA5,0xA6,0x96,0x88,0x88,0x88,0x78,0x87,0x87,//1964
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//1965
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1966
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1967
0x96,0xA4,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//1968
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//1969
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1970
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x79,0x69,0x78,0x77,//1971
0x96,0xA4,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//1972
0xA5,0xB5,0x96,0xA5,0xA6,0x96,0x88,0x78,0x78,0x78,0x87,0x87,//1973
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1974
0x96,0xB4,0x96,0xA6,0x97,0x97,0x78,0x79,0x78,0x69,0x78,0x77,//1975
0x96,0xA4,0xA5,0xB5,0xA6,0xA6,0x88,0x89,0x88,0x78,0x87,0x87,//1976
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//1977
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x78,0x87,//1978
0x96,0xB4,0x96,0xA6,0x96,0x97,0x78,0x79,0x78,0x69,0x78,0x77,//1979
0x96,0xA4,0xA5,0xB5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//1980
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x77,0x87,//1981
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1982
0x95,0xB4,0x96,0xA5,0x96,0x97,0x78,0x79,0x78,0x69,0x78,0x77,//1983
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x87,//1984
0xA5,0xB4,0xA6,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//1985
0xA5,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//1986
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x79,0x78,0x69,0x78,0x87,//1987
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//1988
0xA5,0xB4,0xA5,0xA5,0xA6,0x96,0x88,0x88,0x88,0x78,0x87,0x87,//1989
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x79,0x77,0x87,//1990
0x95,0xB4,0x96,0xA5,0x86,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1991
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//1992
0xA5,0xB3,0xA5,0xA5,0xA6,0x96,0x88,0x88,0x88,0x78,0x87,0x87,//1993
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//1994
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x76,0x78,0x69,0x78,0x87,//1995
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//1996
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//1997
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//1998
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//1999
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//2000
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//2001
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//2002
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//2003
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//2004
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//2005
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2006
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x87,//2007
0x96,0xB4,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x87,0x78,0x87,0x86,//2008
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//2009
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2010
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x78,0x87,//2011
0x96,0xB4,0xA5,0xB5,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86,//2012
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x87,//2013
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2014
0x95,0xB4,0x96,0xA5,0x96,0x97,0x88,0x78,0x78,0x79,0x77,0x87,//2015
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86,//2016
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x87,//2017
0xA5,0xB4,0xA6,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2018
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x79,0x77,0x87,//2019
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x86,//2020
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//2021
0xA5,0xB4,0xA5,0xA5,0xA6,0x96,0x88,0x88,0x88,0x78,0x87,0x87,//2022
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x79,0x77,0x87,//2023
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96,//2024
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//2025
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//2026
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//2027
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96,//2028
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//2029
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//2030
0xA5,0xB4,0x96,0xA5,0x96,0x96,0x88,0x78,0x78,0x87,0x87,//2031
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96,//2032
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x86,//2033
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x78,0x88,0x78,0x87,0x87,//2034
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2035
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96,//2036
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x86,//2037
0xA5,0xB3,0xA5,0xA5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//2038
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2039
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x96,//2040
0xA5,0xC3,0xA5,0xB5,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86,//2041
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x88,0x88,0x88,0x78,0x87,0x87,//2042
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2043
0x95,0xB4,0xA5,0xB4,0xA5,0xA6,0x97,0x87,0x87,0x88,0x87,0x96,//2044
0xA5,0xC3,0xA5,0xB4,0xA5,0xA6,0x87,0x88,0x87,0x78,0x87,0x86,//2045
0xA5,0xB3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x88,0x78,0x87,0x87,//2046
0xA5,0xB4,0x96,0xA5,0xA6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,//2047
0x95,0xB4,0xA5,0xB4,0xA5,0xA5,0x97,0x87,0x87,0x88,0x86,0x96,//2048
0xA4,0xC3,0xA5,0xA5,0xA5,0xA6,0x97,0x87,0x87,0x78,0x87,0x86,//2049
0xA5,0xC3,0xA5,0xB5,0xA6,0xA6,0x87,0x88,0x78,0x78,0x87,0x 87 };//2050
私有日期时间m _ Date
公共日期时间日期
{
get { return m _ Date}
set { m _ Date = value}
}
公共日期()
{
日期=日期时间。今天;
}
公共日期(日期时间dt)
{
日期= dt。日期;
}
//计算指定日期的星座号。
public int GetConstellation()
{
int Y,M,D;
Y = m_Date。年份;
M = m_Date。月份;
D = m_Date。天;
y = M * 100+D;
如果(((Y & gt= 321);& amp(Y & lt= 419))){ return 0;}
else if((Y & gt;= 420)& amp;& amp(Y & lt= 520)){ return 1;}
else if((Y & gt;= 521);& amp(Y & lt= 620)){ return 2;}
else if((Y & gt;= 621);& amp(Y & lt= 722)){ return 3;}
else if((Y & gt;= 723)& amp;& amp(Y & lt= 822)){ return 4;}
else if((Y & gt;= 823)& amp;& amp(Y & lt= 922)){ return 5;}
else if((Y & gt;= 923)& amp;& amp(Y & lt= 1022)){ return 6;}
else if((Y & gt;= 1023);& amp(Y & lt= 1121)){ return 7;}
else if((Y & gt;= 1122)& amp;& amp(Y & lt= 1221)){ return 8;}
else if((Y & gt;= 1222)| |(Y & lt;= 119)){ return 9;}
else if((Y & gt;= 120);& amp(Y & lt= 218)){ return 10;}
else if((Y & gt;= 219);& amp(Y & lt= 320)){ return 11;}
else { return-1;};
}
//计算指定日期的星座名称。
公共字符串GetConstellationName()
{
int星座;
constellation = get constellation();
如果((星座& gt= 0)& amp;& amp(星座& lt= 11))
{ return Constellation name[Constellation];}
其他
{ return};
}
//从0到23计算公历日对应的节气,-1表示不是节气。
public int l_GetLunarHolDay()
{
字节标志;
int Day,iYear,iMonth,iDay
iYear = m_Date。年份;
如果((iYear & ltSTART _ YEAR)| |(iYear & gt;年末))
{ return-1;};
iMonth = m_Date。月份;
iDay = m_Date。天;
flag = gLunarHolDay[(iYear-START _ YEAR)* 12+iMonth-1];
if(iDay & lt;15)
{ Day = 15-((Flag & gt;& gt4)& amp;0x0f);}
其他
{ Day =(Flag & amp;0x0f)+15;};
if (iDay == Day)
{
if(iDay & gt;15)
{ return(iMonth-1)* 2+1;}
其他
{ return(iMonth-1)* 2;}
}
其他
{ return-1;};
}
公共字符串格式Month(ushort iMonth,bool bLunar)
{
string SZ text = " positive 234567890 ";
字符串strMonth
如果((!bLunar)和amp& amp(iMonth == 1))
{返回“一月”;}
if(iMonth & lt;= 10)
{
strMonth =
strMonth = strMonth + szText。Substring(iMonth - 1,1);
StrMonth = strMonth+"月";
返回strMonth
}
if (iMonth == 11)
{ strMonth = " eleven}
其他
{strMonth = "十二";}
return strMonth +"