PHP擷取上個月、下個月、本月的日期strtotime,date

來源:互聯網
上載者:User
今天寫程式的時候,突然發現了很早以前寫的擷取月份天數的函數,經典的switch版,但是獲得上月天數的時候,我只是把月份-1了,估計當時太困了吧,再看到有種毛骨悚然的感覺,本來是想再處理一下的,但是一想肯定還有什麼超方便的方法,於是找到了下面這個版本,做了一點小修改。

擷取本月日期:

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

  $firstday是月份的第一天,假如$date是2014-2這樣的話,$firstday就會是2014-02-01,然後根據$firstday加一個月就是2014-03-01,再減一天就是2014-02-28,用date()和strtotime()真是太方便了。

擷取上月日期:

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

  上月日期需要先擷取一個時間戳記,然後在月份上-1就OK了,超智能的date()會把2014-0-1這種東西轉換成2013-12-01,太爽了。

擷取下月日期:

 1 function getNextMonthDays($date){ 2     $timestamp=strtotime($date); 3     $arr=getdate($timestamp); 4     if($arr['mon'] == 12){ 5         $year=$arr['year'] +1; 6         $m -11; 7         $firstday=$year.'-0'.$month.'-01'; 8         $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day")); 9     }else{10         $firstday=date('Y-m-01',strtotime(date('Y',$timestamp).'-'.(date('m',$timestamp)+1).'-01'));11         $lastday=date('Y-m-d',strtotime("$firstday +1 month -1 day"));12     }13     return array($firstday,$lastday);14 }

  下月日期的代碼看起來比較長一點,因為date()轉不了類似2014-13-01這種東西,它會直接回到1970,所以前面需要處理一下12月的問題,除了12月就直接月份+1就OK啦。

  總得來說,還是很方便的,日期函數太強大了。

以上就介紹了PHP擷取上個月、下個月、本月的日期strtotime,date,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.