公农历转换和获取二十四节气算法

本文介绍如何使用C51单片机实现万年历显示,包括公农历转换及二十四节气的计算方法。通过数组存储年份信息和节气数据,提供了获取农历月份大小、判断日期是否为节气的函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用C51单片机做一个万年历的显示:涉及到公农历的转换以及获取对应二十四节气的方法的问题。
二十四节气的存储方法和数据是本人一个个算的哦,如果对大家有帮助的话,求赞+关注!

年份信息和二十四节气信息存储数组

/***************************************************
* 公历与农历转换年份数据存储数组                        
* 公历年对应的农历数据,每年三字节,
* 格式第一字节BIT7-4 位表示闰月月份,值为0为无闰月,BIT3-0对应农历第1-4月的大小
* 第二字节BIT7-0对应农历第5-12月大小,第三字节BIT7表示农历第13个月大小
* 月份对应的位为1表示本农历月大(30天),为0表示小(29天).
* 第三字节BIT6-5表示春节的公历月份,BIT4-0表示春节的公历日期                   
***************************************************/
uchar code year_code[] =
{
	0x04, 0xAe, 0x53,                                                       /* 1901 */
	0x0A, 0x57, 0x48,                                                       /* 1902 */
	0x55, 0x26, 0xBd,                                                       /* 1903 */
	0x0d, 0x26, 0x50,                                                       /* 1904 */
	0x0d, 0x95, 0x44,                                                       /* 1905 */
	0x46, 0xAA, 0xB9,                                                       /* 1906 */
	0x05, 0x6A, 0x4d,                                                       /* 1907 */
	0x09, 0xAd, 0x42,                                                       /* 1908 */
	0x24, 0xAe, 0xB6,                                                       /* 1909 */
	0x04, 0xAe, 0x4A,                                                       /* 1910 */
	0x6A, 0x4d, 0xBe,                                                       /* 1911 */
	0x0A, 0x4d, 0x52,                                                       /* 1912 */
	0x0d, 0x25, 0x46,                                                       /* 1913 */
	0x5d, 0x52, 0xBA,                                                       /* 1914 */
	0x0B, 0x54, 0x4e,                                                       /* 1915 */
	0x0d, 0x6A, 0x43,                                                       /* 1916 */
	0x29, 0x6d, 0x37,                                                       /* 1917 */
	0x09, 0x5B, 0x4B,                                                       /* 1918 */
	0x74, 0x9B, 0xC1,                                                       /* 1919 */
	0x04, 0x97, 0x54,                                                       /* 1920 */
	0x0A, 0x4B, 0x48,                                                       /* 1921 */
	0x5B, 0x25, 0xBC,                                                       /* 1922 */
	0x06, 0xA5, 0x50,                                                       /* 1923 */
	0x06, 0xd4, 0x45,                                                       /* 1924 */
	0x4A, 0xdA, 0xB8,                                                       /* 1925 */
	0x02, 0xB6, 0x4d,                                                       /* 1926 */
	0x09, 0x57, 0x42,                                                       /* 1927 */
	0x24, 0x97, 0xB7,                                                       /* 1928 */
	0x04, 0x97, 0x4A,                                                       /* 1929 */
	0x66, 0x4B, 0x3e,                                                       /* 1930 */
	0x0d, 0x4A, 0x51,                                                       /* 1931 */
	0x0e, 0xA5, 0x46,                                                       /* 1932 */
	0x56, 0xd4, 0xBA,                                                       /* 1933 */
	0x05, 0xAd, 0x4e,                                                       /* 1934 */
	0x02, 0xB6, 0x44,                                                       /* 1935 */
	0x39, 0x37, 0x38,                                                       /* 1936 */
	0x09, 0x2e, 0x4B,                                                       /* 1937 */
	0x7C, 0x96, 0xBf,                                                       /* 1938 */
	0x0C, 0x95, 0x53,                                                       /* 1939 */
	0x0d, 0x4A, 0x48,                                                       /* 1940 */
	0x6d, 0xA5, 0x3B,                                                       /* 1941 */
	0x0B, 0x55, 0x4f,                                                       /* 1942 */
	0x05, 0x6A, 0x45,                                                       /* 1943 */
	0x4A, 0xAd, 0xB9,                                                       /* 1944 */
	0x02, 0x5d, 0x4d,                                                       /* 1945 */
	0x09, 0x2d, 0x42,                                                       /* 1946 */
	0x2C, 0x95, 0xB6,                                                       /* 1947 */
	0x0A, 0x95, 0x4A,                                                       /* 1948 */
	0x7B, 0x4A, 0xBd,                                                       /* 1949 */
	0x06, 0xCA, 0x51,                                                       /* 1950 */
	0x0B, 0x55, 0x46,                                                       /* 1951 */
	0x55, 0x5A, 0xBB,                                                       /* 1952 */
	0x04, 0xdA, 0x4e,                                                       /* 1953 */
	0x0A, 0x5B, 0x43,                                                       /* 1954 */
	0x35, 0x2B, 0xB8,                                                       /* 1955 */
	0x05, 0x2B, 0x4C,                                                       /* 1956 */
	0x8A, 0x95, 0x3f,                                                       /* 1957 */
	0x0e, 0x95, 0x52,                                                       /* 1958 */
	0x06, 0xAA, 0x48,                                                       /* 1959 */
	0x7A, 0xd5, 0x3C,                                                       /* 1960 */
	0x0A, 0xB5, 0x4f,                                                       /* 1961 */
	0x04, 0xB6, 0x45,                                                       /* 1962 */
	0x4A, 0x57, 0x39,                                                       /* 1963 */
	0x0A, 0x57, 0x4d,                                                       /* 1964 */
	0x05, 0x26, 0x42,                                                       /* 1965 */
	0x3e, 0x93, 0x35,                                                       /* 1966 */
	0x0d, 0x95, 0x49,                                                       /* 1967 */
	0x75, 0xAA, 0xBe,                                                       /* 1968 */
	0x05, 0x6A, 0x51,                                                       /* 1969 */
	0x09, 0x6d, 0x46,                                                       /* 1970 */
	0x54, 0xAe, 0xBB,                                                       /* 1971 */
	0x04, 0xAd, 0x4f,                                                       /* 1972 */
	0x0A, 0x4d, 0x43,                                                       /* 1973 */
	0x4d, 0x26, 0xB7,                                                       /* 1974 */
	0x0d, 0x25, 0x4B,                                                       /* 1975 */
	0x8d, 0x52, 0xBf,                                                       /* 1976 */
	0x0B, 0x54, 0x52,                                                       /* 1977 */
	0x0B, 0x6A, 0x47,                                                       /* 1978 */
	0x69, 0x6d, 0x3C,                                                       /* 1979 */
	0x09, 0x5B, 0x50,                                                       /* 1980 */
	0x04, 0x9B, 0x45,                                                       /* 1981 */
	0x4A, 0x4B, 0xB9,                                                       /* 1982 */
	0x0A, 0x4B, 0x4d,                                                       /* 1983 */
	0xAB, 0x25, 0xC2,                                                       /* 1984 */
	0x06, 0xA5, 0x54,                                                       /* 1985 */
	0x06, 0xd4, 0x49,                                                       /* 1986 */
	0x6A, 0xdA, 0x3d,                                                       /* 1987 */
	0x0A, 0xB6, 0x51,                                                       /* 1988 */
	0x09, 0x37, 0x46,                                                       /* 1989 */
	0x54, 0x97, 0xBB,                                                       /* 1990 */
	0x04, 0x97, 0x4f,                                                       /* 1991 */
	0x06, 0x4B, 0x44,                                                       /* 1992 */
	0x36, 0xA5, 0x37,                                                       /* 1993 */
	0x0e, 0xA5, 0x4A,                                                       /* 1994 */
	0x86, 0xB2, 0xBf,                                                       /* 1995 */
	0x05, 0xAC, 0x53,                                                       /* 1996 */
	0x0A, 0xB6, 0x47,                                                       /* 1997 */
	0x59, 0x36, 0xBC,                                                       /* 1998 */
	0x09, 0x2e, 0x50,                                                       /* 1999 294 */
	0x0C, 0x96, 0x45,                                                       /* 2000 297 */
	0x4d, 0x4A, 0xB8,                                                       /* 2001 */
	0x0d, 0x4A, 0x4C,                                                       /* 2002 */
	0x0d, 0xA5, 0x41,                                                       /* 2003 */
	0x25, 0xAA, 0xB6,                                                       /* 2004 */
	0x05, 0x6A, 0x49,                                                       /* 2005 */
	0x7A, 0xAd, 0xBd,                                                       /* 2006 */
	0x02, 0x5d, 0x52,                                                       /* 2007 */
	0x09, 0x2d, 0x47,                                                       /* 2008 */
	0x5C, 0x95, 0xBA,                                                       /* 2009 */
	0x0A, 0x95, 0x4e,                                                       /* 2010 */
	0x0B, 0x4A, 0x43,                                                       /* 2011 */
	0x4B, 0x55, 0x37,                                                       /* 2012 */
	0x0A, 0xd5, 0x4A,                                                       /* 2013 */
	0x95, 0x5A, 0xBf,                                                       /* 2014 */
	0x04, 0xBA, 0x53,                                                       /* 2015 */
	0x0A, 0x5B, 0x48,                                                       /* 2016 */
	0x65, 0x2B, 0xBC,                                                       /* 2017 */
	0x05, 0x2B, 0x50,                                                       /* 2018 */
	0x0A, 0x93, 0x45,                                                       /* 2019 */
	0x47, 0x4A, 0xB9,                                                       /* 2020 */
	0x06, 0xAA, 0x4C,                                                       /* 2021 */
	0x0A, 0xd5, 0x41,                                                       /* 2022 */
	0x24, 0xdA, 0xB6,                                                       /* 2023 */
	0x04, 0xB6, 0x4A,                                                       /* 2024 */
	0x69, 0x57, 0x3d,                                                       /* 2025 */
	0x0A, 0x4e, 0x51,                                                       /* 2026 */
	0x0d, 0x26, 0x46,                                                       /* 2027 */
	0x5e, 0x93, 0x3A,                                                       /* 2028 */
	0x0d, 0x53, 0x4d,                                                       /* 2029 */
	0x05, 0xAA, 0x43,                                                       /* 2030 */
	0x36, 0xB5, 0x37,                                                       /* 2031 */
	0x09, 0x6d, 0x4B,                                                       /* 2032 */
	0xB4, 0xAe, 0xBf,                                                       /* 2033 */
	0x04, 0xAd, 0x53,                                                       /* 2034 */
	0x0A, 0x4d, 0x48,                                                       /* 2035 */
	0x6d, 0x25, 0xBC,                                                       /* 2036 */
	0x0d, 0x25, 0x4f,                                                       /* 2037 */
	0x0d, 0x52, 0x44,                                                       /* 2038 */
	0x5d, 0xAA, 0x38,                                                       /* 2039 */
	0x0B, 0x5A, 0x4C,                                                       /* 2040 */
	0x05, 0x6d, 0x41,                                                       /* 2041 */
	0x24, 0xAd, 0xB6,                                                       /* 2042 */
	0x04, 0x9B, 0x4A,                                                       /* 2043 */
	0x7A, 0x4B, 0xBe,                                                       /* 2044 */
	0x0A, 0x4B, 0x51,                                                       /* 2045 */
	0x0A, 0xA5, 0x46,                                                       /* 2046 */
	0x5B, 0x52, 0xBA,                                                       /* 2047 */
	0x06, 0xd2, 0x4e,                                                       /* 2048 */
	0x0A, 0xdA, 0x42,                                                       /* 2049 */
	0x35, 0x5B, 0x37,                                                       /* 2050 */
	0x09, 0x37, 0x4B,                                                       /* 2051 */
	0x84, 0x97, 0xC1,                                                       /* 2052 */
	0x04, 0x97, 0x53,                                                       /* 2053 */
	0x06, 0x4B, 0x48,                                                       /* 2054 */
	0x66, 0xA5, 0x3C,                                                       /* 2055 */
	0x0e, 0xA5, 0x4f,                                                       /* 2056 */
	0x06, 0xB2, 0x44,                                                       /* 2057 */
	0x4A, 0xB6, 0x38,                                                       /* 2058 */
	0x0A, 0xAe, 0x4C,                                                       /* 2059 */
	0x09, 0x2e, 0x42,                                                       /* 2060 */
	0x3C, 0x97, 0x35,                                                       /* 2061 */
	0x0C, 0x96, 0x49,                                                       /* 2062 */
	0x7d, 0x4A, 0xBd,                                                       /* 2063 */
	0x0d, 0x4A, 0x51,                                                       /* 2064 */
	0x0d, 0xA5, 0x45,                                                       /* 2065 */
	0x55, 0xAA, 0xBA,                                                       /* 2066 */
	0x05, 0x6A, 0x4e,                                                       /* 2067 */
	0x0A, 0x6d, 0x43,                                                       /* 2068 */
	0x45, 0x2e, 0xB7,                                                       /* 2069 */
	0x05, 0x2d, 0x4B,                                                       /* 2070 */
	0x8A, 0x95, 0xBf,                                                       /* 2071 */
	0x0A, 0x95, 0x53,                                                       /* 2072 */
	0x0B, 0x4A, 0x47,                                                       /* 2073 */
	0x6B, 0x55, 0x3B,                                                       /* 2074 */
	0x0A, 0xd5, 0x4f,                                                       /* 2075 */
	0x05, 0x5A, 0x45,                                                       /* 2076 */
	0x4A, 0x5d, 0x38,                                                       /* 2077 */
	0x0A, 0x5B, 0x4C,                                                       /* 2078 */
	0x05, 0x2B, 0x42,                                                       /* 2079 */
	0x3A, 0x93, 0xB6,                                                       /* 2080 */
	0x06, 0x93, 0x49,                                                       /* 2081 */
	0x77, 0x29, 0xBd,                                                       /* 2082 */
	0x06, 0xAA, 0x51,                                                       /* 2083 */
	0x0A, 0xd5, 0x46,                                                       /* 2084 */
	0x54, 0xdA, 0xBA,                                                       /* 2085 */
	0x04, 0xB6, 0x4e,                                                       /* 2086 */
	0x0A, 0x57, 0x43,                                                       /* 2087 */
	0x45, 0x27, 0x38,                                                       /* 2088 */
	0x0d, 0x26, 0x4A,                                                       /* 2089 */
	0x8e, 0x93, 0x3e,                                                       /* 2090 */
	0x0d, 0x52, 0x52,                                                       /* 2091 */
	0x0d, 0xAA, 0x47,                                                       /* 2092 */
	0x66, 0xB5, 0x3B,                                                       /* 2093 */
	0x05, 0x6d, 0x4f,                                                       /* 2094 */
	0x04, 0xAe, 0x45,                                                       /* 2095 */
	0x4A, 0x4e, 0xB9,                                                       /* 2096 */
	0x0A, 0x4d, 0x4C,                                                       /* 2097 */
	0x0d, 0x15, 0x41,                                                       /* 2098 */
	0x2d, 0x92, 0xB5,                                                       /* 2099 */
};
uchar code day_code1[9] = { 0x0, 0x1f, 0x3b, 0x5a, 0x78, 0x97, 0xb5, 0xd4, 0xf3 };
uint code day_code2[3] = { 0x111, 0x130, 0x14e };
uchar code table_week[12] = { 0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5 }; // 月修正数据表

/********************************************
* 二十四节气对应年的日期表
* 依次从1月开始,每月用一个字节存放,用15减去高四位数据即得到第一个节气对应日期
* 低四位数据加上15即得到第二个节气对应日期
**********************************************/
uchar code ChinaSolarTerms[]={
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,0x69,0x78,0x78,	//1903
0x86,0xa5,0x96,0xa5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,0x78,	//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,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,0x79,0x78,0x78,	//1910
0x96,0xa5,0x87,0x96,0x87,0x87,0x79,0x69,0x69,0x69,0x78,0x78,	//1911
0x86,0xa5,0x96,0xa5,0x96,0x97,0x88,0x78,0x78,0x69,0x77,0x87,	//1912
0x95,0xb4,0x96,0xa6,0x97,0x97,0x78,0x79,0x78,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,0x77,	//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,0xa5,0x96,0x97,0x78,0x79,0x78,0x69,0x78,0x87,	//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,0x69,0x69,0x78,0x78,	//1927
0x96,0xa5,0x96,0xa5,0x96,0x97,0x88,0x78,0x78,0x78,0x87,0x87,	//1928
0x95,0xb4,0x96,0xa5,0x96,0x97,0x88,0x78,0x78,0x69,0x78,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,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,0x79,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,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,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,0x78,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,0x69,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,0x78,0x87,0x87,	//1961
0x95,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,0xb4,0xa5,0xa5,0xa6,0x96,0x88,0x88,0x88,0x78,0x87,0x87,	//1964
0xa5,0xb4,0x96,0xa5,0x96,0x96,0x88,0x78,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,0xb4,0xa5,0xa5,0xa6,0xa6,0x88,0x88,0x88,0x78,0x87,0x87,	//1968
0xa5,0xb4,0x96,0xa5,0x96,0x96,0x88,0x78,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,0x96,0x88,0x88,0x88,0x78,0x87,0x87,	//1972
0xa5,0xb4,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,0x88,0x88,0x78,0x87,0x87,	//1976
0xa5,0xb4,0x96,0xa5,0xa6,0x96,0x88,0x88,0x78,0x78,0x87,0x87,	//1977
0x95,0xb4,0x96,0xa5,0x96,0x97,0x88,0x78,0x78,0x79,0x78,0x87,	//1978
0x95,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,0x87,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,0x96,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,0x78,0x87,0x87,	//1994
0x95,0xb4,0x96,0xa5,0x96,0x97,0x88,0x78,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,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,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,0xb5,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,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,0x78,0x87,0x87,	//2031
0x95,0xb4,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2032
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x86,	//2033
0xa5,0xb3,0xa5,0xa5,0xa6,0xa6,0x88,0x88,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,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x86,	//2049
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x87,	//2050
0xa5,0xb4,0xa5,0xa5,0xa6,0x96,0x88,0x88,0x88,0x78,0x87,0x87,	//2051
0xa5,0xb4,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x97,0x88,0x86,0x96,	//2052
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x86,	//2053
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x87,	//2054
0xa5,0xb4,0xa5,0xa5,0xa6,0xa6,0x88,0x88,0x88,0x78,0x87,0x87,	//2055
0xa5,0xb4,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x87,0x88,0x86,0x96,	//2056
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2057
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x86,	//2058
0xa5,0xb4,0xa5,0xa5,0xa6,0xa6,0x88,0x88,0x88,0x78,0x87,0x87,	//2059
0xa5,0xb4,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x87,0x87,0x96,0x96,	//2060
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2061
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x86,	//2062
0xa5,0xb3,0xa5,0xa5,0xa6,0xa6,0x88,0x88,0x88,0x78,0x87,0x87,	//2063
0xa5,0xb4,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x87,0x87,0x96,0x96,	//2064
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2065
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x86,	//2066
0xa5,0xb3,0xa5,0xa5,0xa6,0xa6,0x88,0x88,0x88,0x78,0x87,0x87,	//2067
0xa5,0xb4,0xa5,0xb4,0xb5,0xa5,0x97,0x97,0x87,0x87,0x96,0x96,	//2068
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2069
0xa5,0xc3,0xa5,0xb5,0xa5,0xa6,0x87,0x88,0x87,0x78,0x87,0x86,	//2070
0xa5,0xb3,0xa5,0xa5,0xa6,0xa6,0x88,0x88,0x88,0x78,0x87,0x87,	//2071
0xa5,0xb4,0xa5,0xb4,0xb5,0xa5,0x97,0x97,0x87,0x87,0x96,0x96,	//2072
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x88,0x87,0x96,	//2073
0xa5,0xc3,0xa5,0xb5,0xa5,0xa6,0x87,0x88,0x87,0x78,0x87,0x86,	//2074
0xa5,0xb3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x87,	//2075
0xa5,0xb4,0xa5,0xb4,0xb5,0xa5,0x97,0x97,0x87,0x87,0x96,0x96,	//2076
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x88,0x87,0x96,	//2077
0xa5,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x88,0x87,0x78,0x87,0x86,	//2078
0xa5,0xb3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x87,	//2079
0xa5,0xb4,0xa5,0xb4,0xb5,0xa5,0x97,0x97,0x87,0x87,0x96,0x96,	//2080
0xa4,0xc3,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x87,0x88,0x86,0x96,	//2081
0xa5,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x86,	//2082
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x87,	//2083
0xa5,0xb4,0xb4,0xb4,0xb5,0xa5,0x97,0x97,0x97,0x87,0x96,0x96,	//2084
0xb4,0xc3,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x87,0x88,0x86,0x96,	//2085
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x86,	//2086
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x87,	//2087
0xa5,0xb4,0xb4,0xb4,0xb5,0xb5,0x97,0x97,0x97,0x87,0x96,0x96,	//2088
0xb4,0xc3,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x87,0x88,0x86,0x96,	//2089
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2090
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x86,	//2091
0xa5,0xb4,0xb4,0xb4,0xb5,0xb5,0x97,0x97,0x97,0x87,0x96,0x96,	//2092
0xb4,0xc3,0xa5,0xb4,0xa5,0xa5,0x97,0x87,0x87,0x87,0x96,0x96,	//2093
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2094
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x86,	//2095
0xa5,0xb3,0xb4,0xb4,0xb5,0xb5,0x97,0x97,0x97,0x87,0x96,0x96,	//2096
0xb4,0xc3,0xa5,0xb4,0xa5,0xa5,0x97,0x97,0x87,0x87,0x96,0x96,	//2097
0xa4,0xc3,0xa5,0xb4,0xa5,0xa6,0x97,0x87,0x87,0x78,0x87,0x96,	//2098
0xa5,0xc3,0xa5,0xb5,0xa6,0xa6,0x87,0x88,0x88,0x78,0x87,0x86,	//2099	
};

公农历转换和二十四节气获取

/*******************************************************************
函数名称:GetMoonDay()
函数功能:用于读取数据表中农历月的大月或小月,如果该月为大返回1,为小返回0。
输入参数:month_p  table_addr  
返回值:  0/1 
*******************************************************************/
uchar GetMoonDay( uchar month_p, ushort table_addr )
{
	switch ( month_p )
	{
	case 1:
		if ( (year_code[table_addr] & 0x08) == 0 )
			return(0);
		else return(1);
	case 2:
		if ( (year_code[table_addr] & 0x04) == 0 )
			return(0);
		else return(1);
	case 3:
		if ( (year_code[table_addr] & 0x02) == 0 )
			return(0);
		else return(1);
	case 4:
		if ( (year_code[table_addr] & 0x01) == 0 )
			return(0);
		else return(1);
	case 5:
		if ( (year_code[table_addr + 1] & 0x80) == 0 )
			return(0);
		else return(1);
	case 6:
		if ( (year_code[table_addr + 1] & 0x40) == 0 )
			return(0);
		else return(1);
	case 7:
		if ( (year_code[table_addr + 1] & 0x20) == 0 )
			return(0);
		else return(1);
	case 8:
		if ( (year_code[table_addr + 1] & 0x10) == 0 )
			return(0);
		else return(1);
	case 9:
		if ( (year_code[table_addr + 1] & 0x08) == 0 )
			return(0);
		else return(1);
	case 10:
		if ( (year_code[table_addr + 1] & 0x04) == 0 )
			return(0);
		else return(1);
	case 11:
		if ( (year_code[table_addr + 1] & 0x02) == 0 )
			return(0);
		else return(1);
	case 12:
		if ( (year_code[table_addr + 1] & 0x01) == 0 )
			return(0);
		else return(1);
	case 13:
		if ( (year_code[table_addr + 2] & 0x80) == 0 )
			return(0);
		else return(1);
	}
	return(0);
}

/*******************************************************************
函数名称:GetChinaCalendar()
函数功能:公农历转换(只允许1901-2099年)
输入参数:year:公历年  month:公历月  day:公历日 
返回值:  0/1 	 1对应转换成功,0对应转换失败
*********************************************************************/
uchar NLmonth;    //农历月                   
uchar NLday; 		//农历日
uchar IsRunYue; 	//存放当前农历月是否为闰月,是则为1,否则为0
uchar GetChinaCalendar(uint year,uchar month,uchar day)
{
	uchar temp1, temp2, temp3, month_p, yearH, yearL,runyue;
	uchar flag_y;
	ushort temp4, table_addr;
	yearH = year / 100; yearL = year % 100;
	if ( (yearH != 19) && (yearH != 20) )
		return(0);

	/* 定位数据表地址 */
	if ( yearH == 20 )
		table_addr = (yearL + 100 - 1) * 3;
	else table_addr = (yearL - 1) * 3;

	/* 取当年春节所在的公历月份 */
	temp1	= year_code[table_addr + 2] & 0x60;
	temp1	>>= 5;

	/* 取当年春节所在的公历日 */
	temp2 = year_code[table_addr + 2] & 31;

	/* 计算当年春年离当年元旦的天数,春节只会在公历1月或2月 */
	if ( temp1 == 1 )
		temp3 = temp2 - 1;
	else temp3 = temp2 + 31 - 1;

	/* 计算公历日离当年元旦的天数 */
	if ( month < 10 )
		temp4 = day_code1[month - 1] + day - 1;
	else temp4 = day_code2[month - 10] + day - 1;
	/* 如果公历月大于2月并且该年的2月为闰月,天数加1 */
	if ( (month > 2) && (yearL % 4 == 0) )
		temp4++;

	/* 判断公历日在春节前还是春节后 */
	if ( temp4 >= temp3 )
	{						 //当前公历日在春节后
		temp4	-= temp3;	//现在temp4存放当前公历日距离当前春节公历日天数
		month	= 1;
		month_p = 1;

		flag_y = 0;
		if ( GetMoonDay( month_p, table_addr ) == 0 )
			temp1 = 29;     /* 小月29天 */
		else temp1 = 30;        /* 大月30天 */
		/* 从数据表中取该年的闰月月份,如为0则该年无闰月 */
		temp2 = year_code[table_addr] / 16;
		if(temp2!=0)runyue=temp2;
		while ( temp4 >= temp1 )
		{
			temp4 -= temp1;
			month_p++;
			if ( month == temp2 )
			{
				flag_y = ~flag_y;
				if ( flag_y == 0 )
					month++;
			}else month++;
			if ( GetMoonDay( month_p, table_addr ) == 0 )
				temp1 = 29;
			else temp1 = 30;
		}
		day = temp4 + 1;
	}
	/* 公历日在春节前使用下面代码进行运算 */
	else{
		temp3 -= temp4;
		if ( yearL == 0 )
		{
			yearL	= 100 - 1;
			yearH	= 19;
		}else yearL--;
		table_addr	-= 3;
		month		= 12;
		temp2		= year_code[table_addr] / 16;
		if ( temp2 == 0 )
			month_p = 12;
		else month_p = 13;

		flag_y = 0;
		if ( GetMoonDay( month_p, table_addr ) == 0 )
			temp1 = 29;
		else temp1 = 30;
		while ( temp3 > temp1 )
		{
			temp3 -= temp1;
			month_p--;
			if ( flag_y == 0 )
				month--;
			if ( month == temp2 )
				flag_y = ~flag_y;
			if ( GetMoonDay( month_p, table_addr ) == 0 )
				temp1 = 29;
			else temp1 = 30;
		}
		day = temp1 - temp3 + 1;
	}
	NLmonth = month;
	NLday	= day; 
	if(runyue==NLmonth)IsRunYue=1;
	else IsRunYue=0;
	return(1);
}

/*******************************************************************
函数名称:SetSolarTerms()
函数功能:判断当前日期是否为二十四节气,是则返回1,否则返回0
输入参数:allyear:公历年  month:公历月  day:公历日 
返回值:  0/1 	 1代表是二十四节气之一,0代表不是
*********************************************************************/
uchar SetSolarTerms(uint allyear,uchar month,uchar day)
{
	uchar result;	  //返回值变量
	uchar day1;		 //读出当前年月对应的节气日期
	if(day>15)		 //当日在当月的下半月时
	{
		day-=15;		 //根据节气存储表的格式转换当日,然后与表中数据进行对比
		day1=ChinaSolarTerms[(allyear-1901)*12+month-1]%16;	   
		if(day==day1)result=1;	 //若当前日期和节气日期相同则说明该天是二十四节气之一
		else result=0;
	}
	else 		   //当日在当月的上半月时
	{
		day=15-day;
		day1=ChinaSolarTerms[(allyear-1901)*12+month-1]/16;
		if(day==day1)result=1;
		else result=0;
	}
	return result;
}
// 星期判定,1901.1.1(星期二)为基准,对以后200年内即(1901~2099),星期有效
uchar SetWeek(uchar year1,uchar month,uchar day)
{
	uchar code Month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
	uchar j=0, wk=0;        // j 用于记录从1901年到你设定的那一年(不包括你设定的年)之间有几个闰年,wk 用于存放你求出的星期几
	uint sum=0, i, allyear;   // sum 用于存放从1901年到你设定的那一年一共有多少天,sum最大到65535
	allyear = year0*100 + year1;       // 这里的year0是你设定年的前两位,TIME6是后两位
	sum = day;                       
	for(i=0;i<month;i++)
	{
		sum += Month[i];
	}
	if((allyear%4==0)&&(allyear%100!=0)||(allyear%400==0))
	{
		if(month > 2)sum++;
	}
	for(i=1901;i<allyear;i++)
	{
		if((i%4==0)&&(i%100!=0)||(i%400==0))j++;  //闰年比平年多一天
	}
	if(allyear >1900 && allyear < 2100)      // 确保不超出设定的范围2000~2100                                     
	{
		sum = sum + (allyear-1901)*365 + j + 1;	 // 5是由基准星期6->1得到	
		wk = sum%7;
	} 
	if(wk==0)wk = 7;
	return wk;        
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

傻fufu滴人儿~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值