⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nongli.h

📁 最强万年历源码(支持24节气、支持所有单片机、ARM)
💻 H
字号:
/****************************************Copyright (c)**************************************************
**                              四川唐门高新技术开发有限公司
**                                     研    发    部
**                                独门暗器之孔雀翎研究室 
**
**                                http://www.蜀中唐门.com
**
**                                   维护健康 信守诚诺
**
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: nongli.c
**创   建   人: 赖皮 
**最后修改日期: 2007年02月8日
**描        述: 最强万年历   
**              支持所有的单片机、ARM、AVR、MSP430、PIC等(支持C开发)
**              可嵌入任何标准C编译器  BC++、VC、ADS、KEIL等
**
**★〓 仅以此献给我的宝贝女儿小涵,我的小狗狗要过第一个春节了 〓★
**★〓    任何人都可以发布和使用,希望保留本文件信息。谢谢    〓★
********************************************************************************************************
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 赖皮 
** 版  本: v1.0
** 日 期: 2007年02月6日
** 描 述: 
**          这是改写网友Campo的万年历C51。
**          原作使用了数组查表法,效率较高。
**          移植到ARM上,我改写了进入参数。返回采用指针传递
**          例如:    GetChinaCalendar(2007,02,06,(unsigned char *)p);p-> 2006/12/19 在BC++4.5上可仿真
**          增加了天干地支转换             ★〓个人原创〓★
**          输入公历日期得到农历字符串	
**          如:      GetChinaCalendarStr(2007,02,06,(char *)str) 返回str="丙戌年腊月十九"
**          非本人原创部分仅供研究与学习之用。如想商业使用,
**          请与原作者Campo联系——虽然我也不知道他的联系方式 ^o^
**			
**          2007年02月6日    LAI2005PI@126.com
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 赖皮 
** 版  本: v2.0(情人节版)   我会在2月14日发布-->愿天下有情人终成眷属
**                                              愿和我一样已经进城的人幸福美满
** 日 期: 2007年02月8日
** 描 述:   
**          应网友的要求增加24节气的支持    ★〓个人原创〓★
**          为了节约空间我未采用复杂算法  而先把节气标志做了个表格(好累人哦)
**          一年的24个节气的日期只需要3个字节编码,每个bit对应一个节气 高->低
**          50年的节气表,只需要150个字节的存储空间 
**          如果本月的节气日期等于基本日期 bit=0  else  bit=1
**
**★〓   仅以此献给我亲爱的刘筒, 我一定会给你种柚子和樱桃的   〓★
**★〓    任何人都可以发布和使用,希望保留本文件信息。谢谢    〓★
**         
**------------------------------------------------------------------------------------------------------
********************************************************************************************************
**--------------当前版本修订------------------------------------------------------------------------------
** 修改人: 
** 版  本: 
** 日 期: 
** 描 述:  
**         
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/

/*********************************************************************************************************
** 函数名称:GetChinaCalendar
** 功能描述:公农历转换(只允许1901-2099年)
** 输 入:  year        公历年
**          month       公历月
**          day         公历日
**          p           储存农历日期地址
** 输 出:  1           成功
**          0           失败
** 作 者:  Campo
** 修  改:  赖皮
** 日 期:  2007年02月06日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern unsigned char GetChinaCalendar(
								unsigned int  year,	
								unsigned char month,
								unsigned char day,
								unsigned char *p);
/*********************************************************************************************************
** 函数名称:GetWeek
** 功能描述:输入公历日期得到星期(只允许1901-2099年)
** 输 入:  year        公历年
**          month       公历月
**          day	        公历日
**          p           储存星期地址
** 输 出:  无
** 作 者:  Campo
** 修  改:  赖皮
** 日 期:  2007年02月06日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern void GetWeek(
			unsigned int year,
			unsigned char month,
			unsigned char day,
			unsigned char *p);
/*********************************************************************************************************
** 函数名称:GetChinaCalendarStr
** 功能描述:输入公历日期得到农历字符串	
**          如:GetChinaCalendarStr(2007,02,06,str) 返回str="丙戌年腊月十九"
** 输 入:  year        公历年
**          month       公历月
**          day         公历日
**          str         储存农历日期字符串地址   15Byte
** 输 出:  无
** 作 者:  赖皮        ★〓个人原创〓★
** 日 期:  2007年02月06日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern void GetChinaCalendarStr(
								unsigned int  year,	
								unsigned char month,
								unsigned char day,
								         char *str);

/*********************************************************************************************************
** 函数名称:GetJieQi
** 功能描述:输入公历日期得到本月24节气日期 day<15返回上半月节气,反之返回下半月	
**          如:GetJieQiStr(2007,02,08,str) 返回str[0]=4
** 输 入:  year        公历年
**          month       公历月
**          day         公历日
**          str         储存对应本月节气日期地址   1Byte
** 输 出:  1           成功
**          0           失败
** 作 者:  赖皮        ★〓个人原创〓★
** 日 期:  2007年02月08日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern unsigned char GetJieQi(
			unsigned  int year,
			unsigned char month,
			unsigned char day,
			unsigned char *JQdate);
/*********************************************************************************************************
** 函数名称:GetJieQiStr
** 功能描述:输入公历日期得到24节气字符串	
**          如:GetJieQiStr(2007,02,08,str) 返回str="离雨水还有11天"
** 输 入:  year        公历年
**          month       公历月
**          day         公历日
**          str         储存24节气字符串地址   15Byte
** 输 出:  1           成功
**          0           失败
** 作 者:  赖皮        ★〓个人原创〓★
** 日 期:  2007年02月08日
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 日 期:
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
extern unsigned char GetJieQiStr(
			unsigned int year,
			unsigned char month,
			unsigned char day,
			         char *str);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -