两个php日期控制类
由于工作需要我找了二个时间日期控制,这个不用js只要php实现的,因为要带参考查询所以操作了操作,有需要的朋友可以参考一下,我自己用的是第二个,所以第二个己作了修改.
实例一,代码如下:
- class Calendar
- {
- var $month;
- var $year;
- function __construct($year,$month)
- {
- $this->year=$year;
- $this->month=$month;
- }
- function endday()
- {
- $daydate=date("d",mktime(0,0,0,$this->month,35,$this->year));
- $endday=35-$daydate;
- return $endday;
- }
- function oneday_week()
- {
- $oneday_week=date("w",mktime(0,0,0,$this->month,1,$this->year));
- return $oneday_week;
- }
- function title_link()
- {
- if(!isset($this->month) && !isset($this->year))
- {
- $this->year = date("Y");
- $this->month = date("m");
- }
- $lastmonth=$this->month-1;
- $nextmonth=$this->month+1;
- $lastyear=$this->year;
- $nextyear=$this->year;
- if($this->month <= 1)
- {
- $lastmonth=12;
- $nextmonth=$this->month+1;
- $lastyear=$this->year-1;
- $nextyear=$this->year;
- }
- elseif ($this->month >= 12)
- {
- $lastmonth=$this->month-1;
- $nextmonth=1;
- $lastyear=$this->year;
- $nextyear=$this->year+1;
- }
- $str ="
"; - $str.="
"; ".$this->year."--".$this->month."- $str.="
"; - return $str;
- }
- function Show_Calendar()
- {
- echo "
";
".$this->title_link()." "; ";- $weekarray=array("日","一","二","三","四","五","六");
- for($k=0;$k<=6;$k++)
- {
- echo "
"; ".$weekarray[$k]."- }
- echo "
- for($i=0;$i<=5;$i++)
- {
- echo "
"; ";- for($j=1;$j<=7;$j++)
- {
- $math=( $j - $this->oneday_week() ) + 7 * $i;
- echo "
"; ";- if($math <= $this->endday() and $math>=1)
- {
- echo $math;
- }
- echo "
- }
- echo "
- }
- echo "
- }
- }
- /*$calendar=new Calendar($_GET['year'],$_GET['month']);
- //$calendar->month=$_GET['month'];
- //开源代码phpfensi.com
- //$calendar->year=$_GET['year'];
- $calendar->Show_Calendar();*/
- ?>
实例二,代码如下:
- header("content-type:text/html;charset=utf-8");
- ?>
- "content-type" content="text/html;charset=utf-8">
- "statics/css/zhaoshang.css" rel="stylesheet" type="text/css">
class="rili">- if(!emptyempty($_GET)){
- $year = isset($_GET['year'])?$_GET['year']:date('y');
- $month = isset($_GET['month'])?$_GET['month']:date('m');
- $day = isset($_GET['day'])?$_GET['day']:date('d');
- }
- if(emptyempty($year)){
- $year = date('Y');
- }
- if(emptyempty($month)){
- $month = date('m');
- }
- if(emptyempty($month)){
- $days = date('d');
- }
- $start_weekday = date('w',mktime(0,0,0,$month,1,$year));
- //echo $start_weekday;
- $days = date('t',mktime(0,0,0,$month,1,$year));
- //echo $days;
- $week = array('日','一','二','三','四','五','六');
- $i = 0;
- $k = 1;
- $j = 0;
- echo '
';
';- echo '
'; '.$year.'年'.$month.'月'.' - echo '
'; ';- for($i = 0;$i < 7;$i++){
- echo '
'.$week[$i].' ';- }
- echo '
- echo '
'; - for($j = 0;$j < $start_weekday;$j++){
- echo '
'.$j.' ';- }
- while($k <= $days){
- if($k == $day){
- echo '
.$year.'&month='.$month.'&day='.$k.'">'.$k.' ';- }else{
- echo '
.$year.'&month='.$month.'&day='.$k.'">'.$k.' ';- }
- if(($j+1) % 7 == 0){
- echo '
'; ';- }
- $j++;
- $k++;
- }
- while($j % 7 != 0){
- echo '
'.$j.' ';- $j++;
- }
- echo '
- echo '
'; ';- echo "
.lastYear($year,$month).">".'<<'.' ';- echo "
.lastMonth($year,$month).">".'<'.' ';- echo '
'; ';- echo ';
- echo ';
- for($start_year = 1970;$start_year<2039;$start_year++){
- $selected='';
- if( $year== $start_year ) { $selected='selected'; }
- echo ''." nt";
- }
- echo '';
- echo ';
- for($start_month = 1;$start_month<=12;$start_month++){
- $selected='';
- if( $month== $start_month ) { $selected='selected';}
- echo ''." nt";
- }
- echo '';
- /*echo '月';*/
- /*echo '';*/
- echo '';
- echo '
- echo "
.nextYear($year,$month).">".'>>'.' ';- echo "
.nextMonth($year,$month).">".'>'.' ';- echo '
- echo '
- function lastYear($year,$month){
- $year = $year-1;
- return "year=$year&month=$month";
- }
- function lastMonth($year,$month){
- if($month == 1){
- $year = $year -1;
- $month = 12;
- }else{
- $month--;
- }
- return "year=$year&month=$month";
- }
- function nextYear($year,$month){
- $year = $year+1;
- return "year=$year&month=$month";
- }
- function nextMonth($year,$month){
- if($month == 12){
- $year = $year +1;
- $month = 1;
- }else {
- $month++;
- }
- return "year=$year&month=$month";
- }
- ?>