两个php日期控制类实例


Posted in PHP onDecember 09, 2014

本文实例讲述了两个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程序设计有所帮助。

PHP 相关文章推荐
php5 and xml示例
Nov 22 PHP
php escape URL编码
Dec 10 PHP
smarty模板嵌套之include与fetch性能测试
Dec 05 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
php记录日志的实现代码
Aug 08 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
YII Framework框架教程之缓存用法详解
Mar 14 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
Laravel实现定时任务的示例代码
Aug 10 PHP
使用YII2框架实现微信公众号中表单提交功能
Sep 04 PHP
PHP 观察者模式深入理解与应用分析
Sep 25 PHP
PHP实现微信提现功能(微信商城)
Nov 21 PHP
php中Ctype函数用法详解
Dec 09 #PHP
完美解决thinkphp验证码出错无法显示的方法
Dec 09 #PHP
thinkphp缓存技术详解
Dec 09 #PHP
ThinkPHP中url隐藏入口文件后接收alipay传值的方法
Dec 09 #PHP
php生成shtml类用法实例
Dec 09 #PHP
thinkphp文件处理类Dir.class.php的用法分析
Dec 08 #PHP
php中adodbzip类实例
Dec 08 #PHP
You might like
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
php 数学运算验证码实现代码
2009/10/11 PHP
PHP is_dir() 判断给定文件名是否是一个目录
2010/05/10 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
浅谈javascript事件取消和阻止冒泡
2015/05/26 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
Node.JS利用PhantomJs抓取网页入门教程
2017/05/19 Javascript
JS判断非空至少输入两个字符的简单实现方法
2017/06/23 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
webpack4.x开发环境配置详解
2018/08/04 Javascript
[05:53]完美世界携手游戏风云打造 卡尔工作室观战系统篇
2013/04/22 DOTA
用ReactJS和Python的Flask框架编写留言板的代码示例
2015/12/19 Python
python抽取指定url页面的title方法
2018/05/11 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python自定义函数实现一个数的三次方计算方法
2019/01/20 Python
Python批量生成幻影坦克图片实例代码
2019/06/04 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
Python序列类型的打包和解包实例
2019/12/21 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
Otel.com:折扣酒店预订
2017/08/24 全球购物
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
英国性能汽车零件和发动机配件在线:Maxpeedingrods
2019/11/05 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
大专毕业生自我鉴定
2013/11/21 职场文书
社区国庆节活动方案
2014/02/05 职场文书
企业指导教师评语
2014/04/28 职场文书
挂靠协议书
2015/01/27 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
Feign调用传输文件异常的解决
2021/06/24 Java/Android