PHP 手写日历代码 - PHP 源码
[PHP]代码
- $monthnow=isset($_GET['mon'])?$_GET['mon']:date("n");
- $yearnow=isset($_GET['year'])?$_GET['year']:date("Y");
- if($monthnow==13){
- $monthnow=1;
- $yearnow=$yearnow+1;
- }
- if($monthnow==0){
- $monthnow=12;
- $yearnow=$yearnow-1;
- }
- $mdays=date("t"); // 当月总天数
- $datenow=date("j"); // 当日日期
- // 计算当月第一天是星期几
- $wk1st=date("w",mktime(0,0,0,$monthnow,1,$yearnow));
- $trnum=ceil(($mdays+$wk1st)/7); // 计算表格行数
- // 表格字串
- $tabstr="
- ";
- $tabstr.="
- ";
- $tabstr.="
- ";
- for($i=0;$i<$trnum;$i++) {
- $tabstr.="
- ";
- // 每行七个单元格
- for($k=0;$k<7;$k++) {
- // 取得单元格自身序号
- $tabidx=$i*7+$k;
- // 若单元格序号小于当月第一天的星期数 ($wk1st) 或大于(月总数 +$wk1st), 只填写空格, 反之, 写入日期
- ($tabidx<$wk1st or $tabidx>$mdays+$wk1st-1) ? $dayecho=" " : $dayecho=$tabidx-$wk1st+1;
- // 突出标明今日日期
- if($dayecho!=' '){
- $num=$dayecho;
- if($dayecho==$datenow) $dayecho="".$dayecho."";
- $tabstr.='
- ";
- }else{
- $tabstr.='
- ";
- }
- }
- $tabstr.="
- ";
- }
- $tabstr.="<<<"; $tabstr.=$yearnow.'年'.$monthnow.'月'.date('d',time())."日"; $tabstr.=">>>
日 一 二 三 四 五 六
- '.$dayecho."
- ";
- print $tabstr; // 输出日历
来源: https://www.php1.cn/detail/php-a61e6a0acf.html