Home >Backend Development >PHP Tutorial >Simple PHP calendar algorithm_PHP tutorial

Simple PHP calendar algorithm_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 14:52:341123browse

/**
* Calendar
*
* Copyright(c) 2007 by Chen Yixin (Deep Sky). All rights reserved
* To contact the author write to
{@link mailto:shenkong@php.net}
* @author Chen Yixin (Deep Sky)
​*/
 if (function_exists('date_default_timezone_set')) { 
     date_default_timezone_set('Asia/Chongqing'); 
 } 
 $date = isset($_GET['date']) ? $_GET['date'] : date('Y-m-d'); 
 $date = getdate(strtotime($date)); 
 $end = getdate(mktime(0, 0, 0, $date['mon'] + 1, 1, $date['year']) - 1);
 $start = getdate(mktime(0, 0, 0, $date['mon'], 1, $date['year'])); 
 $pre = date('Y-m-d', $start[0] - 1); 
 $next = date('Y-m-d', $end[0] + 86400); 
 $html = '

'; 
 $html .= '
'; 
 $html .= '
'; 
 $html .= '
'; 
 $html .= '
'; 
 $html .= '
'; 
 $arr_tpl = array(0 => '', 1 => '', 2 => '', 3 => '', 4 => '', 5 => '', 6 => '');
 $date_arr = array(); 
 $j = 0; 
 for ($i = 0; $i < $end['mday']; $i++) { 
     if (!isset($date_arr[$j])) { 
         $date_arr[$j] = $arr_tpl; 
     } 
     $date_arr[$j][($i+$start['wday'])%7] = $i+1; 
     if ($date_arr[$j][6]) { 
         $j++; 
     } 
 } 
 foreach ($date_arr as $value) { 
     $html .= '
'; 
     foreach ($value as $v) { 
         if ($v) { 
             if ($v == $date['mday']) { 
                 $html .= '
'; 
             } else { 
                 $html .= '
'; 
             } 
         } else { 
             $html .= '
'; 
         } 
     } 
     $html .= '
'; 
 } 
 $html .= '
-' . $date['year'] . ';' . $date['month'] . '+
' . $v . '' . $v . ' 
'; 
 echo $html;  

 

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/371563.htmlTechArticle/*** Calendar * * Copyright(c) 2007 by 陈伊鑫(深空). All rights reserved * To contact the author write to {@link mailto:shenkong@php.net } * @author 陈伊鑫(深空)*/ if (fu...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn