手动制作日历

可以参考下面这段代码,可能写得不好,控制台应用。如果您想制作一个控件,可以修改下面的一些代码,并在您的自定义控件中尝试。

使用系统;

命名空间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(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 +"