ホームページ >バックエンド開発 >PHPチュートリアル >シンプルな PHP カレンダー アルゴリズム_PHP チュートリアル
/**
* カレンダー
*
* Copyright(c) 2007 by Chen Yixin (Deep Sky) 著作権所有
* 著者に連絡するには、{@link mailto:shenkong@php.net} までご連絡ください。
* @著者 チェン・イーシン (ディープ・スカイ)
*/
if (function_exists('date_default_timezone_set')) {
date_default_timezone_set('アジア/重慶');
}
$date = isset($_GET['date']) ? $_GET['日付'] : 日付('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 = 配列();
$j = 0;
for ($i = 0; $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 ($v としての $value) {
if ($v) {
if ($v == $date['mday']) {
$html .= '' 。 $v 。 ' ';
} else {
$html .= '' 。 $v 。 ' ';
}
} その他 {
$html .= ' ';
}
}
$html .= '
}
$html .= 'テーブル>';
エコー$html;
)