怎么用php制作日历-创新互联

这篇文章主要介绍“怎么用php制作日历”,在日常操作中,相信很多人在怎么用php制作日历问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用php制作日历”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

公司主营业务:网站制作、成都网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出乡宁免费做网站回馈大家。

 
怎么用php制作日历

calendar.class.php

复制代码 代码如下:


 <?php
class Calendar {
  private $year; //当前的年
  private $month; //当前的月
  private $start_weekday; //当月的第一天对应的是周几
  private $days; //当前月一共多少天

  function __construct(){
   $this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y");
   $this->month=isset($_GET["month"]) ? $_GET["month"] : date("m");

   $this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));
   $this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year));
  }

  function out(){
   echo '<table align="center">';
   $this->chageDate("test.php");
   $this->weeksList();
   $this->daysList();
   echo '</table>';
  }

  private function weeksList(){
   $week=array('日','一','二','三','四','五','六');

   echo '<tr>';
   for($i=0; $i<count($week); $i++)
    echo '<th class="fontb">'.$week[$i].'</th>';

   echo '</tr>';
  }

  private function daysList(){
   echo '<tr>';
   //输出空格(当前一月第一天前面要空出来)
   for($j=0; $j<$this->start_weekday; $j++)
    echo '<td>&nbsp;</td>';


   for($k=1; $k<=$this->days; $k++){
    $j++;
    if($k==date('d'))
     echo '<td class="fontb">'.$k.'</td>';
    else
     echo '<td>'.$k.'</td>';

    if($j%7==0)
     echo '</tr><tr>';

   }

   //后面几个空格
   while($j%7!==0){
    echo '<td>&nbsp;</td>';
    $j++;
   }

   echo '</tr>';
  }

  private function prevYear($year, $month){
   $year=$year-1;

   if($year < 1970)
    $year = 1970;

   return "year={$year}&month={$month}"; 
  }


  private function prevMonth($year, $month){
   if($month == 1) {
    $year = $year -1;

    if($year < 1970)
     $year = 1970;

    $month=12;
   }else{
    $month--;
   }

   return "year={$year}&month={$month}"; 
  }


  private function nextYear($year, $month){
   $year = $year + 1;

   if($year > 2038)
    $year = 2038;

   return "year={$year}&month={$month}"; 
  }


  private function nextMonth($year, $month){
   if($month==12){
    $year++;

    if($year > 2100)
     $year=2100;

    $month=1;
   }else{
    $month++;
   }

   return "year={$year}&month={$month}"; 
  }

  private function chageDate($url=""){
   echo '<tr>';
   echo '<td><a href="?'.$this->prevYear($this->year, $this->month).'">'.'<<'.'</a></td>';
   echo '<td><a href="?'.$this->prevMonth($this->year, $this->month).'">'.'<'.'</a></td>';
   echo '<td colspan="3">';
   echo '<form>';
   echo '<select name="year" onchange="window.location=\''.$url.'?year=\'+this.options[selectedIndex].value+\'&month='.$this->month.'\'">';
   for($sy=1970; $sy <= 2100; $sy++){
    $selected = ($sy==$this->year) ? "selected" : "";
    echo '<option '.$selected.' value="'.$sy.'">'.$sy.'</option>';
   }
   echo '</select>';
   echo '<select name="month"  onchange="window.location=\''.$url.'?year='.$this->year.'&month=\'+this.options[selectedIndex].value">';
   for($sm=1; $sm<=12; $sm++){
    $selected1 = ($sm==$this->month) ? "selected" : "";
    echo '<option '.$selected1.' value="'.$sm.'">'.$sm.'</option>';
   }
   echo '</select>';
   echo '</form>'; 
   echo '</td>';


   echo '<td><a href="?'.$this->nextYear($this->year, $this->month).'">'.'>>'.'</a></td>';
   echo '<td><a href="?'.$this->nextMonth($this->year, $this->month).'">'.'>'.'</a></td>';
   echo '</tr>';
  }

 }
?>

 test.php

复制代码 代码如下:


 <style>
 table {
  border:1px solid #050;
 }

 .fontb {
  color:white;
  background:blue;
 }

 th {
  width:30px;
 }

 td,th {
  height:30px;
  text-align:center;

 }
 form {
  margin:0px;
  padding:0px;
 }
</style>
<?php
 include "calendar.class.php";

 $calendar=new Calendar;

 $calendar->out();
?>

到此,关于“怎么用php制作日历”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!

名称栏目:怎么用php制作日历-创新互联
文章转载:https://www.cdcxhl.com/article36/digjpg.html

成都网站建设公司_创新互联,为您提供商城网站网站维护Google静态网站网站内链响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设