Home  >  Article  >  Backend Development  >  php calendar [test passed]_PHP tutorial

php calendar [test passed]_PHP tutorial

WBOY
WBOYOriginal
2016-07-21 15:53:031015browse

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

复制代码 代码如下:

/**
* 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 Space)
*/
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;
?>

php日历代码2
复制代码 代码如下:

/**
* Calendar
*/
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 = 'align="center" style="line-height:150%; font-family:Verdana,宋体; font-size: 12px;">';
$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;
?>

下面这个也不错,提示有错误,思路清晰
复制代码 代码如下:

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 <<        
  
    <<
    <
    $year - $month
    >
    >>
  
  
    
    
    
    
    
    
    
  
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     "".($daysofprevmonth-$weekofbeginday+$i)."";
            $count++;
        }
    //当月全部
    for($i = 1 ; $i <= $daysofmonth ; $i++)
        {
            $css = ($count%7==0 || $count%7==1)?"weekday":"normalday";
            if($i == $today) $css .= "today";

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

    echo <<          
    
  

VKN;
}
?>




calendar









www.bkjia.comtruehttp://www.bkjia.com/PHPjc/318769.htmlTechArticle比较不错的一款php日历代码 复制代码 代码如下: ?php /** * 日历 * * Copyright(c) 2007 by 陈毅鑫(深空). All rights reserved * To contact the author write to {@...
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