求个阳历转阴历的C语言代码

2019-03-24 18:21发布

最近做一个电子时钟,要求要阳历转阴历(2000-2099)的,所以来这里求助了。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
wstrom
1楼-- · 2019-03-25 16:23
 精彩回答 2  元偷偷看……
David_Lee
2楼-- · 2019-03-25 17:31
原帖由 孤獨の快樂 于 2011-3-18 16:26 发表
最近做一个电子时钟,要求要阳历转阴历(2000-2099)的,所以来这里求助了。

之前做过一个万年历,使用查表法来获取阴历的。、
http://bbs.eeworld.com.cn/thread-95249-1-1.html
elulis
3楼-- · 2019-03-25 22:13
碰巧原来收集到阳历转阴历的代码,忘了是哪个帖子的了。贴上头文件和附件。
/****************************************Copyright (c)****************************************************                              四川唐门高新技术开发有限公司**                                     研    发    部**                                独门暗器之孔雀翎研究室 ****                                 http://www.四川唐门.com****--------------文件信息--------------------------------------------------------------------------------**文   件   名: nongli.c**创   建   人: 赖皮 **最后修改日期: 2007年02月6日**描        述: 最强万年历   **              支持所有的单片机、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**------------------------------------------------------------------------------------------------------**********************************************************************************************************--------------当前版本修订------------------------------------------------------------------------------** 修改人: ** 版  本: ** 日 期: ** 描 述:  **         **------------------------------------------------------------------------------------------------------    ********************************************************************************************************/
/*********************************************************************************************************** 函数名称: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);
rocpcxu
4楼-- · 2019-03-26 03:59
 精彩回答 2  元偷偷看……
jishuaihu
5楼-- · 2019-03-26 07:52
学习一下,支持
luckfrog
6楼-- · 2019-03-26 13:12
牛!!

一周热门 更多>