PHP下获取上个月、下个月、本月的日期(strtotime,date)

原创 2015年07月07日 15:50:31

获取本月日期:

复制代码 代码如下:

function getMonth($date){
     $firstday = date("Y-m-01",strtotime($date));
     $lastday = date("Y-m-d",strtotime("$firstday +1 month -1 day"));
     return array($firstday,$lastday);
 }

$firstday是月份的第一天,假如$date是2014-2这样的话,$firstday就会是2014-02-01,然后根据$firstday加一个月就是2014-03-01,再减一天就是2014-02-28,用date()和strtotime()真是太方便了。

  获取上月日期:

复制代码 代码如下:

function getlastMonthDays($date){
     $timestamp=strtotime($date);
     $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)-1).'-01'));
     $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
     return array($firstday,$lastday);
 }

上月日期需要先获取一个时间戳,然后在月份上-1就OK了,超智能的date()会把2014-0-1这种东西转换成2013-12-01,太爽了。

  获取下月日期:

复制代码 代码如下:

function getNextMonthDays($date){
    $timestamp=strtotime($date);
    $arr=getdate($timestamp);
    if($arr['mon'] == 12){
        $year=$arr['year'] +1;
        $month=$arr['mon'] -11;
        $firstday=$year.'-0'.$month.'-01';
        $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
    }else{
        $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));
        $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));
    }
    return array($firstday,$lastday);
}

下月日期的代码看起来比较长一点,因为date()转不了类似2014-13-01这种东西,它会直接回到1970,所以前面需要处理一下12月的问题,除了12月就直接月份+1就OK啦。

相关文章推荐

PHP时间日期操作增减(date strtotime) 加一天 加一月

转自:http://www.dodobook.net/php/1451 时间函数是PHP里面的日常函数,时间的默认时期,今天、昨天、明天 、上一周、下一周,本周开始时间和结束时间;本月开始时间结...
  • gf771115
  • gf771115
  • 2016年04月14日 15:25
  • 13443

PHP 获取 今日 本月 上月

//今日 $today=mktime(0,0,0,date('m'),date('d'),date('Y'));  //本月月初时间戳 $month_start=mktime(0, ...

PHP中获取时间的下一周下个月的方法

//获取当前时间过一个月的时间,以DATETIME格式显示  date('Y-m-d H:i:s',strtotime('+1 month'))  //获取当前时间过一个月的时间,以时间戳格式显示...

php 获取本月,上个月,上上个月的开始时间和结束时间

switch ($exchange_time) {     case 1 : // 本月     // 本月起始时间:     $begin_time = date ( "Y-m-d H:i:s", ...

php 获取上个月、下个月、本月的日期 当前月份的前后一个月

php 获取上个月、下个月、本月的日期 当前月份的前后一个月    date_default_timezone_set("UTC");  function GetTheMonth($dat...

php获取昨天、本周、上周、本月、上个月、近三个月时间点

starttime="" endtime=""  昨天 starttime="" endtime=""    本周 starttime="" endtime=""    上周 starttime...

PHP 取出本月,本季度,本年,上月,上季度,上一年的开始和结束日期

PHP 取出本月,本季度,本年,上月,上季度,上一年的开始和结束日期月份 本月起始和结束日期 起始日期:echo date(‘Y-m-01’,strtotime(date(‘Y-m-d’)));...

PHP获取当前月份的前一个月、后一个月

在某次开发中,需要对月份进行处理,获取到前一个月或者后一个月,开始使用   date("Ym", strtotime("-1 month"))    后来发现,这种方法会有问题...
  • tgw2000
  • tgw2000
  • 2015年01月22日 13:38
  • 1805

PHP获取当前月份,多种显示方法

php获取当前月份有3种常用的显示方法 1 date('M') 显示的月份为Jan,Feb格式 2 date('m') 显示的格式为01,02,03格式 3 date('n') 显示的格式为1,...

PHP获取上个月、下个月、本月的日期(strtotime,date)

PHP获取上个月、下个月、本月的日期。   很早以前写的获取月份天数的函数,经典的switch版,但是获得上月天数的时候,我只是把月份-1了,估计当时太困了吧,再看到有种毛骨悚然的感觉,本来是想再...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP下获取上个月、下个月、本月的日期(strtotime,date)
举报原因:
原因补充:

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