Crear un calendario manualmente
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 =
{ p>
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)) p>
{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 + "