设为首页 收藏本站
查看: 607|回复: 0

[经验分享] PHP实现的简单日历代码

[复制链接]

尚未签到

发表于 2017-4-4 09:51:45 | 显示全部楼层 |阅读模式
  //calendar.php
  <?
/*******************************
* 用来判断是否闰年的函数 *
* 可以根据更复杂的算法改进 *
*******************************/
function leap_year($year)
{
if($year% 4 == 0) // basic rule
{
return true; // is leap year
}
else
{
return false;
}
}

/*******************************
* 对一些变量进行赋值操作 *
* 特别注意对二月份的赋值 *
*******************************/
function setup()
{
global $mon_num;
$mon_num=array(31,30,31,30,31,30,31,31,30,31,30,31);
global $mon_name;
$mon_name=array("一","二","三","四",
"五","六","七","八",
"九","十","十一","十二");
if (leap_year($firstday[year])) // basic rule
{
$mon_num[1]=29; // is leap year
}
else
{
$mon_num[1]=28;
}
}

/*******************************
* 显示表格中的一格 *
* 显示的内容和颜色可变 *
*******************************/
function showline($content,$show_color)
{
$begin_mark = "<TD WIDTH=60 HEIGHT=25>";
$begin_mark =$begin_mark."<FONT COLOR=$show_color>";
$end_mark = "</FONT></TD>";
echo $begin_mark.$content.$end_mark ;
}


?>

<!--日历程序的正式开始-->
<html>

<head>

<title>
社区日历
</title>

<meta http-equiv=content-type content="text/html; charset=gb2312">

<head>

<body>

<?
//获得当前的日期
$firstday = getdate(mktime(0,0,0,date("m"),1,date("Y")));

setup();

//显示表格的名称
echo "<CENTER>";
echo "<TABLE BORDER=2 CELLSPACING=4>";
echo "<TH COLSPAN=7 HEIGHT=50>";
echo "<FONT COLOR=red SIZE=3 >";
echo "$firstday[year]年 &nbsp".$mon_name[$firstday[mon]-1]."月&nbsp月历";
echo "</FONT>";
echo "</TH>";

//表头
$weekDay[0] = "日";
$weekDay[1] = "一";
$weekDay[2] = "二";
$weekDay[3] = "三";
$weekDay[4] = "四";
$weekDay[5] = "五";
$weekDay[6] = "六";

echo "<TR ALIGN=/"center/" VALIGN=/"center/">";

//显示表格的第一行
for ($dayNum = 0; $dayNum < 7; ++$dayNum) {
showline($weekDay[$dayNum],"red");
}

echo"</TR>";

$toweek=$firstday[wday];//本月的第一天是星期几
$lastday=$mon_num[$firstday[mon]-1];//本月的最后一天是星期几
$day_count = 1;//当前应该显示的天数
$up_to_firstday = 1;//是否显示到本月的第一天

for ($row = 0; $row <= ($lastday+$toweek-1)/7; ++$row)//本月有几个星期
{echo "<TR ALIGN=center VALIGN=center>";
for ($col=1; $col<=7; ++$col)
{
//在第一天前面显示的都是"空"
if (($up_to_firstday <= $toweek) ||($day_count>$lastday))
{
echo "<TD>&nbsp</TD>";
$up_to_firstday++;
}
else
{
//显示本月中的某一天
showline($day_count,"blue");
$day_count++;
}
}
echo "</TR>";
}

echo "</TABLE>";
echo "</CENTER>";
?>
</body>
</html>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-359927-1-1.html 上篇帖子: php数字转汉字的函数算法 下篇帖子: PHP常用的文件操作函数集锦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表