1.fullcalendar显示当月日历方法
2.用C语言实现农历表和二十四节气的农历算法
fullcalendar显示当月日历方法
切图网专注于前端开发,包括fullcalendar日历改造,节气节气最近项目就遇到了,源码项目中日期插件用的表农html见缝插针源码是fullcalendar,需要显示农历、农历阴历、节气节气尚捷云源码节气、源码当前是表农第几周、星期几、农历天干地支、节气节气生肖年等等,源码实现的表农demo效果如下:
由于插件本身不支持使用农历、节日展示所以对fullcalendar进行了修改,农历51商城网站源码当你重新安装是节气节气需要手动去修改源码,修改内容如下
* 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/
用C语言实现农历表和二十四节气的算法
#include<stdio.h>
void DateTrans(char *chDate,int *nYear,int *nMonth,int *nDay); // 1
int IsLeapYear(int nYear); // 2
int GetWeekOfFirstday(int nYear); // 3
int GetWeek(int nYear,int nMonth,int nDay,int nWeekOfFirstday); // 4
void PrintCalendar(int nWeek,int nDay,int nMonthDays,char *chDate); // 5
void DateTrans(char *chDate,int *nYear,int *nMonth,int *nDay) // 1
{
*nYear=(chDate[0]-'0')*+(chDate[1]-'0')*+(chDate[2]-'0')*+chDate[3]-'0';
*nMonth=(chDate[5]-'0')*+chDate[6]-'0';
*nDay=(chDate[8]-'0')*+chDate[9]-'0';
}
int IsLeapYear(int nYear) // 2
{
if(nYear%4==0)
return 1;
else
return 0;
}
int GetWeekOfFirstday(int nYear) // 3
{
if(nYear>)
return ((nYear-)*+(nYear-)/4+1)%7;
else if(nYear<)
return 6-((-nYear)*+(-nYear)/4)%7;
else
return 6;
}
int GetWeek(int nYear,int nMonth,int nDay,int nWeekOfFirstday) // 4
{
int nDaysYear[]={ ,,,,,,,,,,,};
int nDaysLeapYear[]={ ,,,,,,,,,,,};
int i,sum=0;
if(nYear%4==0)
{
for(i=0;i<(nMonth-1);i++)
{
sum+=nDaysLeapYear[i];
}
return (sum+nDay+nWeekOfFirstday-1)%7;
}
else
{
for(i=0;i<(nMonth-1);i++)
{
sum+=nDaysYear[i];
}
return (sum+nDay+nWeekOfFirstday-1)%7;
}
}
void PrintCalendar(int nWeek,int nDay,int nMonthDays,char *chDate) // 5
{
int i,j;
printf("the calender of this month as following:\n");
printf("
2024-11-27 11:12
2024-11-27 11:09
2024-11-27 11:01
2024-11-27 09:38
2024-11-27 09:20
2024-11-27 09:03
2024-11-27 08:59
2024-11-27 08:53