ホームページ  >  記事  >  php教程  >  PHPカレンダー[テストに合格しました]

PHPカレンダー[テストに合格しました]

WBOY
WBOYオリジナル
2016-06-13 12:29:57931ブラウズ

比较不错的一款php日历代码

复制代代码如下:


/**
* カレンダー
*
* Copyright(c) 2007 by Chen Yixin (Deep Sky) All Rights Reserved
* 著者に連絡するには、{@link mailto:shenkong@php.net} までご連絡ください。
* @著者 Chen Yixin (深宇宙)
*/
if (function_exists('date_default_timezone_set')) {
date_default_timezone_set('Asia/重慶');
}
$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 .= '' 。 $date['年'] 。 「;」 。 $date['month'] 。 '';
$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 .= '' 。 $v 。 '';
} else {
$html .= '
';
}
} else {
$html .= '';
}
}
$html .= '';
}
$html .= '
- <
' 。 $v 。 ' 
';
エコー $html;
?>


php日历代码2

复制代代码如下:


/**
* カレンダー
*/
if (function_exists('date_default_timezone_set')) {
date_default_timezone_set('Asia/重慶');
}
$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 = '

align="center" style="line-height:150%; font -family:Verdana,宋体 font-size:12px;">';
$html .= '';
$html .= '';
$html .= '' 。 $date['年'] 。 「;」 。 $date['month'] 。 '';
$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 .= '' 。 $v 。 '';
} else {
$html .= '
';
}
} else {
$html .= '';
}
}
$html .= '';
}
$html .= '
- <
' 。 $v 。 '
';
エコー $html;
?>


下这个也不错,示唆有错误,思路清晰

复制代代码如下:


function calendar()
{
if($_GET['ym'])
{
$year = substr($_GET[' ym'],0,4);
$month = substr($_GET['ym'],4,(strlen($_GET['ym'])-4);

if($month>12)
{
$year = floor($month/12);
$month = $month % 12;
}
if($year > 2030) $year = 2030;
if($year < 1980) $year = 1980;
}

$year = isset($year) ? $year : date('Y');
$month = isset($month) ? $month : date('n');

if($year==date('Y') &&$month==date('n')) $today = date('j');

if($month-1 == 0)
$prevmonth = ($year - 1)."12";
else $prevmonth = $year.($month - 1);

if($month 1 == 13)
$nextmonth = ($year 1)."1";
else $nextmonth = $year.($month 1);

$prevyear = ($year - 1).$month;
$nextyear = ($year 1).$month;

echo <<


















VKN;
$nowtime = mktime(0,0,0,$month,1,$year);//当月1号转秒
$daysofmonth = date(t,$nowtime);//当月天数
$weekofbeginday = date(w,$nowtime);//当月第一天は星期几
$weekofendday = date(w,mktime(0,0,0,$month 1,0,$year)) ;//当月最終後一天は星期几
$daysofprevmonth = date(t,mktime(0,0,0,$month,0,$year));//上个月天数

$ count = 1;//计数
//列出上月后几天
for($i = 1 ; $i <= $weekofbeginday ; $i )
{
echo "< ;td class='othermonth'>".($daysofprevmonth-$weekofbeginday $i)."";
$count ;
}
//当月全部
for($i = 1 ; $i <= $daysofmonth ; $i )
{
$css = ($count%7==0 || $count %7==1)?"平日":"通常日";
if($i == $today) $css .= "今日";

echo "";
if($count%7==0) echo "";
$count ;
}
//下月前几天
for ($i = 1;$i <= 6-$weekofendday;$i )
{
echo "";
}

echo <<


<< < $year - $month > >>
".$i."
".$i."

VKN;
}
?>




カレンダー







声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。