1.mfc 编写万年历 怎么编 我是农历白痴 求指导
2.fullcalendar显示当月日历方法
mfc 编写万年历 怎么编 我是白痴 求指导
我这里有现成的代码,可供你参考,小插主要是码农自绘的实现,附件给你两个版本的插件,均是农历MFC的(如下图)。第一个是小插瑞文智商测试源码摘自网上的程序,但经我改良,码农农历数据使用自创的插件算法,年份支持也大大增加(从公元年至年),农历并且修正了部分错误。小插
第二个是码农自创的,是插件MFC绘制出来的界面,支持两种视图。农历
代码都是小插在VS上编译通过的,如需要源代码,码农请追问。
//判断闰年,参数:年份,闰年,返回值:FALSE-失败,TRUE-成功static BOOL IsLeapYear(WORD dwYear,文华成本线源码BOOL &bLeapYear);
//计算日期在年内的序数,参数:年,月,日,年内序数,返回值:FALSE-失败,TRUE-成功
static BOOL GetDaysNumInYear(WORD dwYear, WORD dwMonth, WORD dwDay,WORD &nDays);
//从年内序数计算月、日,参数:年,年内序数,月,鹤壁干瞪眼游戏源码日,返回值:FALSE-失败,TRUE-成功
static BOOL GetDateFromDays(WORD dwYear, WORD nDays, WORD &dwMonth, WORD &dwDay);
//获取农历新年的公历年内序数,参数:农历年,返回值:农历新年的公历年内序数
static short LunarGetNewYearOrdinal(WORD dwLunarYear);
//获取农历月的天数,参数:农历年,农历月,是否为闰月,返回值:该农历月的天数,为0代表参数无效
static WORD LunarGetDaysofMonth(WORD dwLunarYear,76的源码和补码WORD dwLunarMonth,BOOL bLeapMonth);
//获取农历某一年的闰月情况,参数:农历年,返回值,该年的闰月月份,0表示无闰月
static WORD LunarGetLeapMonth(WORD dwLunarYear);
//公历转农历,参数:公历年、月、日,农历年、月、日,月老盲盒源码搭建是否为闰月,返回值:FALSE-失败,TRUE-成功
static BOOL GetLunar(WORD dwYear,WORD dwMonth,WORD dwDay,WORD &dwLunarYear,WORD &dwLunarMonth,WORD &dwLunarDay,BOOL &bLeapMonth);
//农历转公历,参数:家历年、月、日,是否为闰月,公历年、月、日,返回值:FALSE-失败,TRUE-成功
static BOOL GetGregorian(WORD dwLunarYear,WORD dwLunarMonth,WORD dwLunarDay,BOOL bLeapMonth,WORD &dwYear,WORD &dwMonth,WORD &dwDay);
//得到指定年份的节气信息,首个是小寒
static BOOL GetJieQi(WORD dwYear,WORD dwMonth,WORD dwJieQi[2]);
//计算星期,返回-1表示输入的年月日不正确或者超出年份范围
static short GetDayOfWeek(WORD dwYear,WORD dwMonth,WORD dwDay);
//计算某个月的天数,返回天数,如果返回0表示年或月有误
static WORD GetDaysOfMonth(WORD dwYear,WORD dwMonth);
//把iYear年格式化成天干记年法表示的字符串
static void FormatLunarYear(WORD iYear, char *pBuffer);
//把iMonth格式化成中文字符串
static void FormatLunarMonth(WORD iMonth, char *pBuffer, BOOL bLeapMonth=FALSE);
//把iDay格式化成中文字符串
static void FormatLunarDay(WORD iDay, char *pBuffer);
fullcalendar显示当月日历方法
切图网专注于前端开发,包括fullcalendar日历改造,最近项目就遇到了,项目中日期插件用的是fullcalendar,需要显示农历、阴历、节气、当前是第几周、星期几、天干地支、生肖年等等,实现的demo效果如下:
由于插件本身不支持使用农历、节日展示所以对fullcalendar进行了修改,当你重新安装是需要手动去修改源码,修改内容如下
* 1、在fullcalendar.js之前引入lunar.js
lunar.js是一个计算农历和各种节假日的第三方js,需在fullcalendar前引用。
* 2、修改fullcalendar.js
正常生成的日历只是包含一个日期,想要显示农历就需要手动修改源码,目前我使用的版本是3.9.0,改动仅有一处。
if (isDayNumberVisible) { html += view.buildGotoAnchorHtml(date, , date.format(D) // inner HTML);//此处可以搜索fc-day-number,在下面添加以下代码var cTerm = lunar(date).term;if(cTerm){ html+=div class=fc-day-cnTerm+cTerm+/div;}var fes = lunar(date).festival();if(fesfes.length0){ html += div class=fc-day-cnTerm + $.trim(fes
.desc)+/div;}if(!cTerm (!fes || fes.length == 0)){ html += div class=fc-day-cnDate+lunar(date).lMonth+月+lunar(date).lDate+/div;}
结语
至此就都改完了,剩下就是样式了,随便你怎么调可以自由发挥。
来源:/fullcalendar-gaizao-lunar/