作者:王琰杰昔凛 | 来源:互联网 | 2013-04-22 17:17
下面是一个简单的php日历算法,希望对大家有所帮助if(function_exists('date_default_timezone_set')){date_default_timezone_set('Asia/Chongqing');}$date
下面是一个简单的php日历算法,希望对大家有所帮助
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 .= '' . $date['year'] . ';' . $date['month'] . ' | ';
$html .= '+ | ';
$html .= '
';
$arr_tpl = array(0 => '', 1 => '', 2 => '', 3 => '', 4 => '', 5 => '', 6 => '');
$date_arr = array();
$j = 0;
for ($i = 0; $i <$end[&#39;mday&#39;]; $i++) {
if (!isset($date_arr[$j])) {
$date_arr[$j] = $arr_tpl;
}
$date_arr[$j][($i+$start[&#39;wday&#39;])%7] = $i+1;
if ($date_arr[$j][6]) {
$j++;
}
}
foreach ($date_arr as $value) {
$html .= &#39;&#39;;
foreach ($value as $v) {
if ($v) {
if ($v == $date[&#39;mday&#39;]) {
$html .= &#39;&#39; . $v . &#39; | &#39;;
} else {
$html .= &#39;&#39; . $v . &#39; | &#39;;
}
} else {
$html .= &#39; | &#39;;
}
}
$html .= &#39;
&#39;;
}
$html .= &#39;
&#39;;
echo $html;