php 发布时间设计,PHP设计日历类一

由两个文件组成:

第一个test.php

table {

border:1px solid #050;

}

.fontb {

color:white;

background:blue;

}

th {

width:30px;

}

td,th {

height:30px;

text-align:center;

}

form {

margin:0px;

padding:0px;

}

include "calendar.class.php";

$calendar=new Calendar;

$calendar->out();

第二个日历类:calendar.class.php

class Calendar {

private $year; //当前的年

private $month; //当前的月

private $start_weekday; //当月的第一天对应的是周几

private $days; //当前月一共多少天

function __construct(){

$this->year=isset($_GET["year"]) ? $_GET["year"] : date("Y");

$this->month=isset($_GET["month"]) ? $_GET["month"] : date("m");

$this->start_weekday=date("w", mktime(0, 0, 0, $this->month, 1, $this->year));

$this->days=date("t", mktime(0, 0, 0, $this->month, 1, $this->year));

}

function out(){

echo '

$this->chageDate("test.php");

$this->weeksList();

$this->daysList();

echo '

';

}

private function weeksList(){

$week=array('日','一','二','三','四','五','六');

echo '

';

for($i=0; $i

echo '

'.$week[$i].'';

echo '

';

}

private function daysList(){

echo '

';

//输出空格(当前一月第一天前面要空出来)

for($j=0; $jstart_weekday; $j++)

echo '

 ';

for($k=1; $k<=$this->days; $k++){

$j++;

if($k==date('d'))

echo '

'.$k.'';

else

echo '

'.$k.'';

if($j%7==0)

echo '

';

}

//后面几个空格

while($j%7!==0){

echo '

 ';

$j++;

}

echo '

';

}

private function prevYear($year, $month){

$year=$year-1;

if($year 

$year = 1970;

return "year={$year}&month={$month}";

}

private function prevMonth($year, $month){

if($month == 1) {

$year = $year -1;

if($year 

$year = 1970;

$month=12;

}else{

$month--;

}

return "year={$year}&month={$month}";

}

private function nextYear($year, $month){

$year = $year + 1;

if($year > 2038)

$year = 2038;

return "year={$year}&month={$month}";

}

private function nextMonth($year, $month){

if($month==12){

$year++;

if($year > 2038)

$year=2038;

$month=1;

}else{

$month++;

}

return "year={$year}&month={$month}";

}

private function chageDate($url=""){

echo '

';

echo '

prevYear($this->year, $this->month).'">'.'<';

echo '

prevMonth($this->year, $this->month).'">'.'';

echo '

';

echo '

';

echo 'month.'\'">';

for($sy=1970; $sy <= 2038; $sy++){

$selected = ($sy==$this->year) ? "selected" : "";

echo ''.$sy.'';

}

echo '';

echo 'year.'&month=\'+this.options[selectedIndex].value">';

for($sm=1; $sm<=12; $sm++){

$selected1 = ($sm==$this->month) ? "selected" : "";

echo ''.$sm.'';

}

echo '';

echo '

';

echo '

';

echo '

nextYear($this->year, $this->month).'">'.'>>'.'';

echo '

nextMonth($this->year, $this->month).'">'.'>'.'';

echo '

';

}

}

效果如下

ab91f76a17f5dcc589789da117bca465.png

顶一下

(0)

100%订阅

回复

踩一下

(0)

100%

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值