PHP簡單日歷實(shí)現(xiàn)方法

字號:


    本文實(shí)例講述了PHP簡單日歷實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
    運(yùn)行效果截圖如下:
    名單
    具體代碼如下:
    <?php
    /*
     * Created on 2016-7-20
     */
    SimCalendar('2016-08');//顯示8月份日歷
    function SimCalendar($date)
    {
      /**
       * 簡單日歷輸出,本函數(shù)需要cal_days_in_month的支持
       * @param $date Y-m 要輸出的日期
       */
      echo '<table>
      <thead>
        <tr>
          <th>日</th>
          <th>一</th>
          <th>二</th>
          <th>三</th>
          <th>四</th>
          <th>五</th>
          <th>六</th>
        </tr>
      </thead>
      <tbody>';
        $date_array = explode('-', $date);
        $start_week = 0;//從星期天開始為0
        $month = cal_days_in_month(CAL_GREGORIAN, $date_array[1], $date_array[0]);//當(dāng)月的天數(shù)
        $wstar = date('w', strtotime($date . '-01'));//當(dāng)月從星期幾天始
        $rows = ceil(($wstar + $month) / 7);//總行數(shù)
        $mday = 1;//第幾天
        for ($i = 0; $i < $rows; $i++) {
          echo '<tr>';
          for ($d = 0; $d < 7; $d++) {
            $nowday = 7 * $i + $d + $start_week;
            if ($nowday >= $wstar && $mday <= $month) {
              $temp = date('d', strtotime($date . '-' . $mday));
              echo '<td>'.$temp . '</td>';
              $mday++;
            } else {
              echo '<td> </td>';
            }
          }
          echo '</tr>';
        }
      echo '</tbody>
    </table>';
    }
    ?>
    希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。