Crear un calendario manualmente

Puede consultar el siguiente código, que puede que no esté bien escrito y es una aplicación de consola. Si desea crear un control, puede modificar parte del código siguiente y probarlo en su control personalizado.

Usar sistema;

Espacio de nombres CNCalendar

{

Clase pública CNDate

{

const privada ushort INICIO _ AÑO = 1901;

const privada ushort FINAL _ AÑO = 2050

Cadena privada[] ConstellationName =

{

Aries, Tauro, Géminis,

"Cáncer", "Leo", "Virgo",

Libra, Escorpio, Sagitario,

"Capricornio", "Acuario", "Piscis";

Cadena privada[] LunarHolDayName =

{

"Xiaohan", "Big Cold", " Principio de primavera", "Lluvia",

"Choque", "Equinoccio de primavera", "Qingming", "Lluvia de granos",

"Largo verano", "Xiaoman" " , "Medio", "Solsticio de verano",

"Pequeño calor", "Gran calor", "Principio de otoño", "Principios de verano",

"Rocío blanco", "Equinoccio de otoño" y "Rocío frío", "Primera helada",

"Comienzo del invierno", "Nieve ligera", "Nieve fuerte", "Solsticio de invierno"};

//Las fechas del mes de 1901 a 2100 Matriz almacenada en el calendario gLunarDay.

//El calendario lunar sólo puede tener 29 o 30 días por mes, y un año está representado por 12 (o 13) números binarios, correspondientes a 1 para 30 días, en caso contrario son 29 días.

private int[] gLunarMonthDay = {

//Los datos de prueba son solo 1901.1-2050.12.438+0.

0x4ae0, 0xa570, 0x5268, 0xd260, 0xd950, 0x6aa8, 0x56a0, 0x9ad0, 0x4ae8, 0x4ae0, //1910

0x4d 8, 0x4d 0, 0xd250, 0xd548, xb550, 0x56 a0 0x96d0 0xd4a0, 0xea50, 0x6d48, 0x5ad0, 0x2b60, 0x9370, 0x92e0, 0xc968, 0xc950, 0xd4a0, //1940

0xda50, 0xb550, 0x56a0, 8, 0x25d0, 0x92d0, 0x c958, 0xa950, 0xb4a8 , 0x6ca0, //1950

0xb550, 0x55a8, 0x4da0, 0xa5b0, 0x52b8, 0x52b0, 0xa950, 0xe950, 0x6aa0, 0xad50, //1960

0xab50, 0x4b60, 0, 0xa570 , 0x5260, 0xe930, 0xd950, 0x5aa8, 0x56a0, 0x96d0, //1970

0x4ae8, 0x4ad0, 0x4d 0, 0xd268, 0xd250, 0xd528, 0xb540, 0xb6a0, x96d0, 0x95b0, //1980

0x49b0, 0x4b 8, 0x4b 0, 0xb258, 0x6a50, 0x6d40, 0xada0, 0xab60, 0x9370, 0x4978, //1990

0x4970, 0x64b0, 0x6a50, 0xea50, 6b28, 0x5ac0, 0xab 60 , 0x9368, 0x92e0 0xc960 55a8, 0x4ba0, 0xa5b0, 0x52b8, 0x52b0, 0xa930, 0x74a8, //2020

0x6aa0, 0xad50, 0x4da8, 0x4b60, 0x4e 0, 0xd260, 0xe930, 0xd530, 0x5aa0, // 2030

0x6b50, 0x96d0, 0x4ae8, 0x4ad0, 0x4d 0, 0xd258, 0xd250, 0xd520, 0xdaa0, 0xb5a0, //2040

0x56d0, 0x4ad8, 0x49b0, 4b8, 0x4b 0, 0xaa50, 0xb528 , 0x6d20, 0xada0, 0x55b 0 }; //2050

//La matriz gLanarMonth almacena el mes bisiesto de 1901 a 2050 en el calendario lunar. Si no existe ese mes, es 0 y cada byte se almacena durante dos años.

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

//La matriz gLanarHoliDay almacena las fechas del calendario solar correspondientes a los veinticuatro términos solares de cada año.

//Las fechas del calendario solar correspondientes a los veinticuatro términos solares son casi fijas, distribuidas uniformemente en doce meses.

// 1 febrero, marzo, abril, mayo, junio

// Frío menor, Frío severo, Inicio de la primavera, Lluvia, Despertar de los insectos, Equinoccio de primavera, Qingming, Grano Lluvia, Largo Verano, Xiaoman Mango, solsticio de verano.

/p>

//************************************

/ /No existe un patrón definido en términos solares, necesitamos guardar la tabla para ahorrar espacio, así que....

//*************** ********* ************}

//Descripción del formato de datos:

//Por ejemplo, el término solar en 1901 fue

// 1 febrero marzo abril mayo julio agosto septiembre 10 junio 11 octubre 12 febrero

// 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

//La primera línea arriba Los datos son la fecha correspondiente de los términos solares mensuales, 15 menos el primer término solar y 15 menos el segundo término solar.

//De esta forma, los datos correspondientes a los dos términos solares de cada mes son menos de 16, se almacena un byte cada mes y los datos del primer término solar se almacenan en alto y bajo. bits.

//Los datos del segundo término solar se pueden obtener de la siguiente tabla.

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, //1110

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, // 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, //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, 8, 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, 9, 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, 8, 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, 9, 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, 9, 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, 8, 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, 0x78 , 0x78, 0x87, 0x87, //1940

0x95, 0xB4, 0x96, 0xA5, 0x96, 0x97, 0x88, 0x78, 0x78, 0x69, 0x78, 0x87, //1941

0

x96, 0xB4, 0x96, 0xA6, 0x97, 0x97, 0x78, 0x79, 0x79, 0x69, 0x78, 0x77, //1942

0x96, 0xA4, 0x96, 0x96, 0x97, 0x97, 0x79, x79, 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, 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, , 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, // 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, 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, 0

x78, 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, 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, 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, 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, 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, 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, 0x9

7, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x

A6, 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, 0x86, //2049

0xA5, 0xC3, 0xA5, 0xB5, 0xA6, 0xA6, 0x87, 0x88, 0x78, 0x78, 0x87, 0x 87} //2050

Fecha y hora privadas m _ Fecha

Fecha hora pública

{

get { return m _ Fecha}

set { m _ Fecha = valor }

}

Fecha pública()

{

Fecha = FechaHora. Hoy;

}

Fecha pública (fechahora dt)

{

Fecha = dt. Fecha;

}

//Calcula el número de constelación para la fecha especificada.

public int GetConstellation()

{

int Y, M, D

Y = m_Date. Año;

M = m_Fecha. Mes;

D = m_Fecha.

días;

y = M * 10D;

if (((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 & gt;= 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>= 823)& amp;& amp(Y & lt= 922)){ return 5;}

si no si((Y>= 923)& amp;& amp (Y & lt= 1022)){ return 6;}

else if((Y & gt;= 1023);& amp(Y & lt= 1121)){ return 7;}

else if((Y>= 1122)& amp;& amp(Y<= 1221)){ return 8;}

else if((Y>= 1222 )| |(Y & lt;= 119)){ return 9;}

else if((Y & lt;= 120);& amp(Y & lt= 218)){ return }

else; if((Y & gt;= 219); & amp(Y & lt= 320)){ return 11;}

else { return-1;}

}

//Calcule el nombre de la constelación en la fecha especificada.

Cadena pública GetConstellationName()

{

int constellation;

constellation = get constellation();

if((constelación>= 0)&&(constelación<= 11))

{ return Nombre de la constelación[Constelación];}

Otro

p>

{ return};

}

//Calcula el término solar correspondiente al día del calendario gregoriano del 0 al 23, -1 significa que no es un término solar.

public int l_GetLunarHolDay()

{

Indicador de bytes

int Día, iAño, iMes, iDía

iAño = m_Fecha. Año;

if ((iYear & ltSTART _ YEAR) | | (iYear & gt; fin de año))

{ return-1;};

iMes =m_Fecha. Mes;

iDay = m_Date.

día;

flag = gLunarHolDay[(iYear-START _ YEAR)* 12+iMonth-1];

if(iDay & lt; 15)

{ Día = 15-((Bandera>>4)&0x0f);}

Otro

{ Día =(Bandera&0x0f)+15;} ;

if (iDay == Día)

{

if(iDay & gt; 15)

{ return(iMonth- 1)* 2+1 ;}

Otros

{ return(iMonth-1)* 2;}

}

Otros

{ return-1;};

}

Formato de cadena pública Mes(ushort iMonth, bool bLunar)

{

cadena SZ text = " positivo 234567890 ";

String strMonth

if ((!bLunar) and amp& amp(iMonth == 1))

{return " enero";}

if(iMonth & lt; = 10)

{

strMonth =

strMonth = strMonth + szText. Subcadena(iMonth - 1, 1);

StrMonth = strMonth+"mes";

Devuelve strMonth

}

if (iMonth == 11)

{ strMonth = " once}

Otro

{strMonth = "doce";}

return strMonth + "