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