php如果实现日历的制作,php实现的日历程序

本文实例讲述了php实现的日历程序。分享给大家供大家参考。具体如下:

判断$Year和$Month是否为空,如果为空就获取系统当前日期,否则用$_GET获取

$Year = empty($_GET['Year']) ? date("Y"): $_GET["Year"];

$Month = empty($_GET['Month']) ? date("m"): $_GET["Month"];

获取当前日期

$Today = date("Ymj");

初始化日期数组

$Maxday = array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20",

"21","22","23","24","25","26","27","28","29","30","31");

$Maxday_count = count($Maxday);

初始化星期数组

$Weekday = array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

$Weekday_count = count($Weekday);

$daynum = 0;

$space = "

";

$col = 0;

打印表格头部

?>

<<<?php echo $Year?>>>" onClick="javascript:document.linked.submit();" name="Month"><<<?php echo $Month;?>" onClick="javascript:document.linked.submit();" name="Month">>>

打印星期列表

while(list(,$Weekvalue) = each($Weekday))

echo "

".$Weekvalue."";

echo "

";

打印日期列表

//当月份为4,6,9,11的时候,从数组末尾删除一个值,也就是删除31这个值.

if($Month == 4 or $Month == 6 or $Month == 9 or $Month == 11)

{

array_pop($Maxday);

$Maxday_count--;

}

//先判断月份是否为2月,如果是的话再判断年份是否为闰年,如果是的话就从数组尾部移除2个值,否则就移除3个值.

if($Month == 2)

{

if($Year % 4 == 0)

{

array_pop($Maxday);

array_pop($Maxday);

$Maxday_count-=2;

}

else

{

array_pop($Maxday);

array_pop($Maxday);

array_pop($Maxday);

$Maxday_count-=3;

}

}

打印日期

while($daynum < $Maxday_count)

{

echo "

";

while(list($colnum,$Dayvalue) = each($Maxday))

{

//判断当前日期为一星期中的哪一天

$DayWeek = date("w",strtotime($Year."-".$Month."-".$Dayvalue));

//当当前日期处于第1个,也就是每个月的第1天的时候,在它前面补上相应的空格子

if($Dayvalue == 1)

for($i=0;$i

echo $space;//打印每个月空出的几个格子

$daynum++;

//当打印日期的时候与当前日期字符串进行比较,如果相等就将字体标为红色.

if($Year.$Month.$Dayvalue == $Today)

{

$u1 = "";

$u2 = "";

}

else

{

$u1 = "";

$u2 = "";

}

if($DayWeek == 0 or $DayWeek == 6)

$color = "red";

else

$color = "black";

echo "

".$u1.$Dayvalue.$u2."";

//用本周第几天这个值加1,如果是7的倍数就换行退出此轮循环(换行打印)

if(($DayWeek+1) % 7 == 0)

{

$col++;

break;

}

}

echo "

";

}

?>

运行效果如下:

希望本文所述对大家的php程序设计有所帮助。 ad51e517755f8fd6a7ec83ced4ecfaf3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值