php獲取一些時間實現方法

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

   echo date('Y-m-01', strtotime('-1 month'));
   echo date('Y-m-t', strtotime('-1 month'));

上面的方法有些問題,根據bg5hfc回覆做下修改
 上個月第一天
 echo date('Y-m-d', strtotime(date('Y-m-01') . ' -1 month'));// 計算出本月第一天再減一個月月最後一天:

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

獲取當月第一天及最後一天.

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

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

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

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

 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];

獲取本月日期:

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是月份的第一天,假如$date2018-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);
}

上月日期需要先獲取一個時間戳,然後在月份上-1就OK了,超智能的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);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章