php实现的万年历功能

admin 2014年09月08日 PHP学习 835次阅读 查看评论

<?php
//万年历的实现
//  1. 获取日期信息年和月(默认为当前的年和当前月) 与最下面上个月下个月链接配合的
  $year = $_GET["y"]?$_GET['y']:date("Y");
  $mon = $_GET["m"]?$_GET["m"]:date("m");
  
//  2、计算出当前月有多少天和本月1号是星期几
  $day = date("t",mktime(0,0,0,$mon,1,$year));//获取对应月的天数
  $w  = date("w",mktime(0,0,0,$mon,1,$year)); //获取当前月中1号是星期几
//  3. 输出日期的头部信息(标题和表头)
  echo "<center>";
  echo "<h1>{$year}年{$mon}月</h1>";
  echo "<table width='600' border='1'>";
  echo "<tr>";
  echo "<th style='color:#ff0000'>星期日</th>";
  echo "<th>星期一</th>";
  echo "<th>星期二</th>";
  echo "<th>星期三</th>";
  echo "<th>星期四</th>";
  echo "<th>星期五</th>";
  echo "<th style='color:#008000'>星期六</th>";
  echo "</tr>"; 
//  4、循环遍历输出日期信息
   $dd=1; //定义一个循环的天数
   while($dd<=$day){ //外层循环值为1,8,15,22,29时判断
 echo "<tr>";
 //输出一周的信息
 for($i=0;$i<7;$i++){
   //当还没有到该输出日期的时候,或已经日期溢出时,输出的都是空单元格
if(($w>$i && $dd==1) || $dd>$day){
   echo "<td>&nbsp;</td>"; 
}else{
echo "<td>{$dd}</td>";
   $dd++;
}
/*
//若没有输出完日期dd信息
if($dd<=$day && ($w<=$i ||$dd!=1)){
  echo "<td>{$dd}</td>";
  $dd++;
}else{
  echo "<td>&nbsp;</td>"; 
}
*/
 }
 echo "</tr>";
   }
  echo "</table>";
  
  
//  5、 输出上一月和下一月的超级链接
   //处理上一月和下一月的信息
   $prey=$nexty=$year;//年
   $prem=$nextm=$mon;//月
   if($prem<=1){
$prem=12;
$prey--;
   }else{
$prem--;
   }
   if($nextm>=12){
$nextm = 1;
$nexty++;
   }else{
$nextm++;
   }
 
  echo "<h3><a href='date.php?y={$prey}&m={$prem}'>上一月</a>&nbsp;&nbsp;&nbsp;&nbsp;";
  
  echo "<a href='date.php?y={$nexty}&m={$nextm}'>下一月</a></h3>";
echo "</center>";


« 上一篇 下一篇 » admin原创文章,转载请注明出处! 标签:php万年历php万年历

相关日志:

«   2019年7月   »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  [查看权限]
网站分类
文章归档
网站收藏
友情链接
图标汇集