手机
当前位置:查字典教程网 >编程开发 >php教程 >php日历[测试通过]
php日历[测试通过]
摘要:比较不错的一款php日历代码复制代码代码如下:php日历代码2复制代码代码如下:下面这个也不错,提示有错误,思路清晰复制代码...

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

复制代码 代码如下:

<?php

/**

* 日历

*

* Copyright(c) 2007 by 陈毅鑫(深空). All rights reserved

* To contact the author write to {@link mailto:shenkong@php.net}

* @author 陈毅鑫(深空)

*/

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 = '<table border="1">';

$html .= '<tr>';

$html .= '<td><a href="' . $PHP_SELF . '?date=' . $pre . '">-</a></td>';

$html .= '<td colspan="5">' . $date['year'] . ';' . $date['month'] . '</td>';

$html .= '<td><a href="' . $PHP_SELF . '?date=' . $next . '">+</a></td>';

$html .= '</tr>';

$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 .= '<tr>';

foreach ($value as $v) {

if ($v) {

if ($v == $date['mday']) {

$html .= '<td><b>' . $v . '</b></td>';

} else {

$html .= '<td>' . $v . '</td>';

}

} else {

$html .= '<td></td>';

}

}

$html .= '</tr>';

}

$html .= '</table>';

echo $html;

?>

php日历代码2

复制代码 代码如下:

<?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 = '<table width="200" border="1" cellspacing="0" bordercolor="#999999"

align="center">';

$html .= '<tr>';

$html .= '<td><a href="' . $PHP_SELF . '?date=' . $pre . '">-</a></td>';

$html .= '<td colspan="5">' . $date['year'] . ';' . $date['month'] . '</td>';

$html .= '<td><a href="' . $PHP_SELF . '?date=' . $next . '">+</a></td>';

$html .= '</tr>';

$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 .= '<tr>';

foreach ($value as $v) {

if ($v) {

if ($v == $date['mday']) {

$html .= '<td><b>' . $v . '</b></td>';

} else {

$html .= '<td>' . $v . '</td>';

}

} else {

$html .= '<td> </td>';

}

}

$html .= '</tr>';

}

$html .= '</table>';

echo $html;

?>

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

复制代码 代码如下:

<?php

functioncalendar()

{

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

<tablewidth="200"border="0"cellpadding="2"cellspacing="2">

<tr>

<tdclass="weekday"><ahref="?ym=$prevyear"><<</a></td>

<tdclass="normalday"><ahref="?ym=$prevmonth"><</a></td>

<tdcolspan="3"class="normalday">$year-$month</td>

<tdclass="normalday"><ahref="?ym=$nextmonth">></a></td>

<tdclass="weekday"><ahref="?ym=$nextyear">>></a></td>

</tr>

<tr>

<tdwidth="27"class="weekday">日</td>

<tdwidth="27"class="normalday">一</td>

<tdwidth="27"class="normalday">二</td>

<tdwidth="27"class="normalday">三</td>

<tdwidth="27"class="normalday">四</td>

<tdwidth="27"class="normalday">五</td>

<tdwidth="27"class="weekday">六</td>

</tr>

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"<tdclass='othermonth'>".($daysofprevmonth-$weekofbeginday+$i)."</td>";

$count++;

}

//当月全部

for($i=1;$i<=$daysofmonth;$i++)

{

$css=($count%7==0||$count%7==1)?"weekday":"normalday";

if($i==$today)$css.="today";

echo"<tdclass='".$css."'>".$i."</td>";

if($count%7==0)echo"</tr><tr>";

$count++;

}

//下月前几天

for($i=1;$i<=6-$weekofendday;$i++)

{

echo"<tdclass='othermonth'>".$i."</td>";

}

echo<<<VKN

<tr>

<tdcolspan="7"></td>

</tr>

</table>

VKN;

}

?>

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>

<title>calendar</title>

<styletype="text/css">

<>

</style>

</head>

<body>

<?phpcalendar();?>

</body>

</html>

【php日历[测试通过]】相关文章:

社区(php&&mysql)三

php通过curl模拟登陆DZ论坛

xml+php动态载入与分页

用PHP制作静态网站的模板框架(二)

php查询whois信息的方法

php注入实例

phpmyadmin操作流程

一段php加密解密的代码

php实现求相对时间函数

十天学会php(1)

精品推荐
分类导航