這篇文章給大家分享的內容是關於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); }
上月日期需要先取得一個時間戳,然後在月份上-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); }
下月日期的程式碼看起來比較長一點,因為date()
轉不了類似2018-13-01
這種東西,它會直接回到1970
,所以前面需要處理一下12
月的問題,除了12
月就直接月份 1
就OK
啦。
總得來說,日期函數太強大了。
這幾天在開發的時候遇到的一些時間上的問題,整理了一下,分享給大家,可以看看,有需要的話可以利用一下。
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); }
上月日期需要先取得一個時間戳,然後在月份上-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); }
下月日期的程式碼看起來比較長一點,因為date()
轉不了類似2018-13-01
這種東西,它會直接回到1970
,所以前面需要處理一下12
月的問題,除了12
月就直接月份 1
就OK
啦。
總得來說,日期函數太強大了。
相關推薦:
以上是php獲取一些時間的實作方法實踐的詳細內容。更多資訊請關注PHP中文網其他相關文章!