php擷取一些時間的實現方法實踐

來源:互聯網
上載者:User

本篇文章給大家分享的內容是關於php擷取一些時間的實現方法實踐,有著一定的參考價值,有需要的朋友可以參考一下

這幾天在開發的時候遇到的一些時間上的問題,整理了一下,分享給大家,可以看看,有需要的話可以利用一下。

1.擷取上個月第一天及最後一天.

   echo date('Y-m-01', strtotime('-1 month'));      echo "<br/>";      echo date('Y-m-t', strtotime('-1 month'));      echo "<br/>";

上面的方法有些問題,做下修改:

 上個月第一天:
 

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));// 計算出本月第一天再減一個月

 上個月最後一天:
 

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 計算出本月第一天再減一天

2.擷取當月第一天及最後一天.

   $BeginDate=date('Y-m-01', strtotime(date("Y-m-d")));      echo $BeginDate;   echo "<br/>";      echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day"));      echo "<br/>";

3.擷取當天年份、月份、日及天數.

   echo " 本月共有:".date("t")."天";      echo " 當前年份".date('Y');      echo " 當前月份".date('m');      echo " 當前幾號".date('d');      echo "<br/>";

4.使用函數及數組來擷取當月第一天及最後一天,比較實用

  function getthemonth($date){       $firstday = date('Y-m-01', strtotime($date));              $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));              return array($firstday,$lastday);  }     $today = date("Y-m-d");     $day=getthemonth($today);     echo "當月的第一天: ".$day[0]." 當月的最後一天: ".$day[1];    echo "<br/>";

擷取本月日期:

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是2018-2這樣的話,$firstday就會是2018-02-01,然後根據$firstday加一個月就是2018-03-01,再減一天就是2018-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);}

  上月日期需要先擷取一個時間戳記,然後在月份上-1OK了,超智能的date()會把2018-0-1這種東西轉換成2017-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()轉不了類似2018-13-01這種東西,它會直接回到1970,所以前面需要處理一下12月的問題,除了12月就直接月份+1OK啦。

  總得來說,日期函數太強大了。

這幾天在開發的時候遇到的一些時間上的問題,整理了一下,分享給大家,可以看看,有需要的話可以利用一下。

1.擷取上個月第一天及最後一天.

   echo date('Y-m-01', strtotime('-1 month'));      echo "<br/>";      echo date('Y-m-t', strtotime('-1 month'));      echo "<br/>";

上面的方法有些問題,做下修改:

 上個月第一天:
 

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));// 計算出本月第一天再減一個月

 上個月最後一天:
 

echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 day')); // 計算出本月第一天再減一天

2.擷取當月第一天及最後一天.

   $BeginDate=date('Y-m-01', strtotime(date("Y-m-d")));      echo $BeginDate;   echo "<br/>";      echo date('Y-m-d', strtotime("$BeginDate +1 month -1 day"));      echo "<br/>";

3.擷取當天年份、月份、日及天數.

   echo " 本月共有:".date("t")."天";   echo " 當前年份".date('Y');      echo " 當前月份".date('m');      echo " 當前幾號".date('d');      echo "<br/>";

4.使用函數及數組來擷取當月第一天及最後一天,比較實用

  function getthemonth($date){       $firstday = date('Y-m-01', strtotime($date));              $lastday = date('Y-m-d', strtotime("$firstday +1 month -1 day"));              return array($firstday,$lastday);  }     $today = date("Y-m-d");     $day=getthemonth($today);     echo "當月的第一天: ".$day[0]." 當月的最後一天: ".$day[1];     echo "<br/>";

擷取本月日期:

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是2018-2這樣的話,$firstday就會是2018-02-01,然後根據$firstday加一個月就是2018-03-01,再減一天就是2018-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);}

  上月日期需要先擷取一個時間戳記,然後在月份上-1OK了,超智能的date()會把2018-0-1這種東西轉換成2017-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()轉不了類似2018-13-01這種東西,它會直接回到1970,所以前面需要處理一下12月的問題,除了12月就直接月份+1OK啦。

  總得來說,日期函數太強大了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.