[原创]实现从当前月向下推N个月的函数

原创 2005年01月01日 21:09:00

<?

/*

*  作者:心灯

*  功能:实现从指定时间向下推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

获取从上月起往前推24个月的月份下拉框(js)

//获得月份下拉框         function addOptions(){             var obj = document.getElementById("monList");...
  • yiyuhanmeng
  • yiyuhanmeng
  • 2012年03月13日 13:58
  • 1657

获取当前时间的月份和前n个月份 、年份 、日期

获取当前时间的月份和前n个月份 SELECT TO_CHAR(ADD_MONTHS(sysdate, -ROWNUM), 'YYYYMM') TJRQ   FROM DUAL CONNECT BY...
  • liuao107329
  • liuao107329
  • 2016年05月18日 17:20
  • 664

js实现获取当前月份前的12个月份,格式化后放在一个数组里。

js实现获取当前月份前的12个月份,格式化后放在一个数组里。 例如当前是2017年2月,现获取前12个月的月份放在数组里,输出的结果如下: [2017-01,2016-12,2016-11,2016-...
  • u014175572
  • u014175572
  • 2017年02月06日 11:22
  • 5345

java:获取最近六个月的年月并顺序排序

java:获取最近六个月的年月并顺序排序
  • u013592116
  • u013592116
  • 2017年06月09日 17:56
  • 1479

javascript 获取当前日期下个月/n个月的日期数

功能要求:现在需要做一个租期计算功能,确定好起租日期和租期(月份),求截止日期。如20170809一个月后为20170908,20170131一个月后为20170228 难点:主要是比如,1月31号租...
  • wushi91
  • wushi91
  • 2017年12月27日 12:55
  • 121

获取当前月份到六个月之前的月份列表,总共七个月

public static void main(String[] args) throws ParseException { Calendar c = Calendar.getInstance()...
  • luxiaofei222
  • luxiaofei222
  • 2017年06月05日 19:08
  • 616

javascript 获取最近12个月

编写一个javascript函数,返回一个数组,其中包含了最近12月: //Make some functions as tools //return array function getL...
  • zhouyingge1104
  • zhouyingge1104
  • 2014年10月27日 15:54
  • 2901

php获取当前的上一个月和下一个月

由于项目当中有用到这样的一个方法,故在这边做记录 function GetMonth($sign="1")   {       //得到系统的年月       $tmp_date=date(...
  • smart_seed
  • smart_seed
  • 2016年11月28日 17:45
  • 1375

获取当前月的前6个月份

Calendar date=Calendar.getInstance(); int month=date.get(Calendar.MONTH)+1;//获取当前日期的月份 i...
  • niu18703633145
  • niu18703633145
  • 2016年12月24日 10:42
  • 469

SqlServer 查询指定时间是当前年哪个月当前月哪个周

select ltrim(year(getdate()))+'年'+ ltrim(month(getdate()))+'月第'+ ltrim(ceiling(datediff(d, cast(conv...
  • yang_629
  • yang_629
  • 2014年02月12日 10:18
  • 1282
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[原创]实现从当前月向下推N个月的函数
举报原因:
原因补充:

(最多只允许输入30个字)