当前位置:Gxlcms > PHP教程 > php简单的日历程序代码_PHP教程

php简单的日历程序代码_PHP教程

时间:2021-07-01 10:21:17 帮助过:52人阅读

PHP提供了date()函数,该函数提供了丰富的日期处理功能。现在需要获得的数据有两个,第一个是当月的总天数;第二个是该月的第一天所在星期中的第几天,数字表示0(表示星期天)到6(表示星期六)。

通过date()函数可以很容易获得上面的数据

代码如下

$month = $_GET['m']?$_GET['m']:date(‘n’);
$year = $_GET['y']?$_GET['y']:date(‘Y’);

$start_week = date(‘w’,mktime(0,0,0,$month,1,$year));
$day_num = date(‘t’,mktime(0,0,0,$month,1,$year));
$end = false;
?>






for($i = 0; $i<$start_week; $i++)
{
echo “”;
}

$j=1;

while($j<=$day_num)
{
echo “

”;
$week = ($start_week+$j-1)%7;

if($week ==6){
echo “nt

n”;
if($j != $day_num)
echo “tntt”;
else $end = true;
}
$j++;
}
while($week%7 != 6)
{
echo “”;
$week++;
}
if(!$end)
echo “n”;
?>

星期日星期一星期二星期三星期四星期五星期六
$j

高级一点类

';
foreach($this->weeks as $title)
{
echo '';
}
echo '';
}

private function showDays($year, $month)
{
$firstDay = mktime(0, 0, 0, $month, 1, $year);
$starDay = date('w', $firstDay);
$days = date('t', $firstDay);

echo '

';
for ($i=0; $i<$starDay; $i++) {
echo '';
}

for ($j=1; $j<=$days; $j++) {
$i++;
if ($j == date('d')) {
echo '';
} else {
echo '';
}
if ($i % 7 == 0) {
echo '';
}
}

echo '';
}

private function showChangeDate()
{

$url = basename($_SERVER['PHP_SELF']);

echo '';
echo '';
echo '';
echo '';
echo '';
echo '';
echo '';
}

private function preYearUrl($year,$month)
{
$year = ($this->year <= 1970) ? 1970 : $year - 1 ;

return 'year='.$year.'&month='.$month;
}

private function nextYearUrl($year,$month)
{
$year = ($year >= 2038)? 2038 : $year + 1;

return 'year='.$year.'&month='.$month;
}

private function preMonthUrl($year,$month)
{
if ($month == 1) {
$month = 12;
$year = ($year <= 1970) ? 1970 : $year - 1 ;
} else {
$month--;
}

return 'year='.$year.'&month='.$month;
}

private function nextMonthUrl($year,$month)
{
if ($month == 12) {
$month = 1;
$year = ($year >= 2038) ? 2038 : $year + 1;
}else{
$month++;
}
return 'year='.$year.'&month='.$month;
}

}

代码如下

class Calendar
{
private $year;
private $month;
private $weeks = array('日','一','二','三','四','五','六');

function __construct($options = array()) {
$this->year = date('Y');
$this->month = date('m');

$vars = get_class_vars(get_class($this));
foreach ($options as $key=>$value) {
if (array_key_exists($key, $vars)) {
$this->$key = $value;
}
}
}

function display()
{
echo '

';
$this->showChangeDate();
$this->showWeeks();
$this->showDays($this->year,$this->month);
echo '
';
}

private function showWeeks()
{
echo '
'.$title.'
'.$j.''.$j.'
preYearUrl($this->year,$this->month).'">'.'<<'.'preMonthUrl($this->year,$this->month).'">'.'<'.'nextMonthUrl($this->year,$this->month).'">'.'>'.'nextYearUrl($this->year,$this->month).'">'.'>>'.'

调用方法

代码如下

$params = array();
if (isset($_GET['year']) && isset($_GET['month'])) {
$params = array(
'year' => $_GET['year'],
'month' => $_GET['month'],
);
}
$params['url'] = 'demo.php';
require_once 'calendar.class.php';
?>



日历demo





$cal = new Calendar($params);
$cal->display();
?>



www.bkjia.comtruehttp://www.bkjia.com/PHPjc/444655.htmlTechArticlePHP提供了date()函数,该函数提供了丰富的日期处理功能。现在需要获得的数据有两个,第一个是当月的总天数;第二个是该月的第一天所在...

人气教程排行