PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » 入门和基础知识 » 实现从指定时间向下推n个月的函数
本页主题: 实现从指定时间向下推n个月的函数 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

自由的龙

该用户目前不在线
级别: 中级程序员
精华: 1
发帖: 1264
威望: 1267 点
金钱: 12660 PYMB
贡献值: 0 点
在线时间:0(小时)
注册时间:2006-04-16
最后登录:2006-06-27

实现从指定时间向下推n个月的函数


<?
/*
* 作者:心灯
* 功能:实现从指定时间向下推N个月的函数
* month($ymd,$len) $ymd时间,$len推出几个月
* $ymd='2005-01-01';
*/
function month($ymd='',$len='12'){
  $month = array();
  $lang   = $lang."<meta http-equiv="Content-Type" content="text/html; charset=gb2312">";
  if($ymd){//判断时间格式是否正确
    if(!ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})",$ymd)){        
        echo "<script>alert('函数参数中的日期格式不对');history.back()</script>";
        exit;
    }
  }
  if($len){
    if(!ereg("[0-9]+",$len)){        
        echo $lang."<script>alert('函数中的时间长度中含有非法字段');history.back()</script>";
        exit;
    }
  }
  for($i=0;$i<$len;$i++){
    if($i==0){
        $mktime = $ymd?strtotime($ymd):time();
    }
    $month[] = date("Y-m",$mktime);//可以根据需要来设计置你要的格式
    $day = date("t",$mktime);
    if($i==0)
        $reday = date("d",$mktime);
    else
        $reday = $day;
    $t1   = $mktime;
    $mktime=date("Y-m-d",mktime(date("H",$t1),date("i",$t1),date("s",$t1),date("m",$t1),date("d",$t1)-$reday,date("Y",$t1)));
    $mktime =strtotime($mktime);    
  }
  return $month;
}
$month = month();
foreach($month as $key => $v){
  echo $v."<br>";
}
?>
效果如下:
2005-01
2004-12
2004-11
2004-10
2004-09
2004-08
2004-07
2004-06
2004-05
2004-04
2004-03
2004-02
顶端 Posted: 2006-04-16 19:16 | [楼 主]
PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 » 入门和基础知识

时:01-09 03:08 Copyright © 2006 phpwhy.com 权
ICP05060669

曳息 -