两个php日期控制类实例

前端技术 2023/09/04 PHP

本文实例讲述了两个php日期控制类。分享给大家供大家参考。具体分析如下:

由于工作需要我找了二个时间日期控制,这个不用js只要php实现的,因为要带参考查询操作,感兴趣的朋友可以参考一下,我自己用的是第二个,所以第二个己作了修改.

实例一,代码如下:

复制代码 代码如下:
<?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 =\"<td colspan=\'2\'><div align=\'center\'><a href=$PHP_SELF?year=\".$lastyear.\"&month=\".$lastmonth.\"&><<<</a></div></td>\";
  $str.=\"<td colspan=\'3\'><div align=\'center\'>\".$this->year.\"--\".$this->month.\"</div></td>\";
  $str.=\"<td colspan=\'2\'><div align=\'center\'><a href=$PHP_SELF?year=\".$nextyear.\"&month=\".$nextmonth.\"&>>>></a></div></td>\";
  return $str;
 }
 
 function Show_Calendar()
 {
        echo \"<table width=\'181\' border=5><tr class=\'tr.title\'>\".$this->title_link().\"</tr><tr>\";
        $weekarray=array(\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\");
        
        for($k=0;$k<=6;$k++)
        {
         echo \"<td><div align=\'center\'>\".$weekarray[$k].\"</div></td>\";
        }
        echo \"</tr>\";
        
        for($i=0;$i<=5;$i++)
        {
         echo \"<tr>\";
         for($j=1;$j<=7;$j++)
         {
     $math=( $j - $this->oneday_week() ) + 7 * $i;
    
          echo \"<td><div align=\'center\'>\";
    
          if($math <= $this->endday() and $math>=1)
     {
   echo $math;
     }
    
         echo \"</div></td>\";
         }    
         echo \"</tr>\";     
        }
  echo \"</table>\";
 }
}
$calendar=new Calendar($_GET[\'year\'],$_GET[\'month\']);
$calendar->month=$_GET[\'month\'];
$calendar->year=$_GET[\'year\'];
$calendar->Show_Calendar();
?>

实例二,代码如下:
复制代码 代码如下:
<?php
header(\"content-type:text/html;charset=utf-8\");
?>
<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">
 
<link href=\"statics/css/zhaoshang.css\" rel=\"stylesheet\" type=\"text/css\">
<div class=\"rili\">
<?php
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 \'<table >\';
echo \'<tr><td colspan = 7 style =\"text-align:center; width:250px; background:#d5e5f6; border-bottom:1px solid #333366;\">\'.$year.\'年\'.$month.\'月\'.\'</td></tr>\';
echo \'<tr>\';
for($i = 0;$i < 7;$i++){
    echo \'<td>\'.$week[$i].\'</td>\';
}
echo \'</tr>\';
echo \'<tr>\';
for($j = 0;$j < $start_weekday;$j++){
    echo \'<td style=\"color:#f1f8fc;\">\'.$j.\'</td>\';
}
while($k <= $days){
    if($k == $day){
        echo \'<td style=\"color:red\"><a href=\"?year=\'.$year.\'&month=\'.$month.\'&day=\'.$k.\'\"><span style=\"color:red\">\'.$k.\'</span></a></td>\';
    }else{
        echo \'<td><a href=\"?year=\'.$year.\'&month=\'.$month.\'&day=\'.$k.\'\">\'.$k.\'</a></td>\';
    }
    if(($j+1) % 7 == 0){
        echo \'</tr><tr>\';
    }
    $j++;
    $k++;
}
while($j % 7 != 0){
    echo \'<td style=\"color:#f1f8fc;\">\'.$j.\'</td>\';
    $j++;
}
echo \'</tr>\';
 
echo \'<tr style=\"background:#d5e5f6;\">\';
echo \"<td><a href=?\".lastYear($year,$month).\">\".\'<<\'.\'</a></td>\';
echo \"<td><a href=?\".lastMonth($year,$month).\">\".\'<\'.\'</a></td>\';
echo \'<td colspan = 3 style=\"width:105px;\" >\';
echo \'<form name = \"myform\" method = \"GET\">\';
echo \'<select name = year  class=\"year\">\';
for($start_year = 1970;$start_year<2039;$start_year++){
 $selected=\'\';
 if( $year== $start_year ) { $selected=\'selected\'; }
 echo \'<option value =\'. $start_year.\' \'.$selected.\'>\'.$start_year.\'</option>\'.\" nt\";
}
echo \'</select>\';
echo \'<select name = month class=\"month\">\';
for($start_month = 1;$start_month<=12;$start_month++){
 $selected=\'\';
 if( $month== $start_month ) { $selected=\'selected\';}
 echo \'<option value = \'.$start_month.\' \'.$selected.\'>\'.$start_month.\'</option>\'.\" nt\";
}
echo \'</select>\';
/*echo \'月\';*/
/*echo \'<input type = \"submit\" name = \"search\" value = \"查询\">\';*/
echo \'</form>\';
echo \'</td>\';
echo \"<td><a href=?\".nextYear($year,$month).\">\".\'>>\'.\'</a></td>\';
echo \"<td><a href=?\".nextMonth($year,$month).\">\".\'>\'.\'</a></td>\';
echo \'</tr>\';
echo \'</table>\';
 
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\";
}
 
?>
</div>

希望本文所述对大家的php程序设计有所帮助。

本文地址:https://www.stayed.cn/item/10560

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。