//获取下个月此时是时间戳
date("Y-m-d H:i:s",strtotime("+1 month"));
//获取今天是本月的第几天
date('j',time());
//获取今天是本周的第几天
date('w',time());
//获取当月总天数
date('t', time());
//获取当前日期
date('d', time());
public function index()
{
$month = $this->getThisMonth();
$week = $this->getThisWeek();
dump($month);
echo "================================================";
dump($week);
}
/**
* 获取某月所有时间(默认本月)
*/
public function getThisMonth($time = '', $format='Y-m-d'){
$time = $time != '' ? $time : time();
//获取当前日期
$week = date('d', $time);
$date = [];
//date('t', $time) 获取当月总天数
for ($i=1; $i<= date('t', $time); $i++){
$date[$i] = date($format ,strtotime( $i-$week .' days', $time));
}
return $date;
}
/**
* 获取某周所有日期(默认本周)
*/
public function getThisWeek($time = '', $format='Y-m-d'){
$time = $time != '' ? $time : time();
//获取当前周几
$week = date('w', $time);
$date = [];
for ($i=1; $i<=7; $i++){
$date[$i] = date($format ,strtotime( $i-$week .' days', $time));
}
return $date;
}
/**
* 获取两个日期之间的所有日期
*/
public function getDatesBetweenTwoDays($startDate,$endDate){
$dates = [];
if(strtotime($startDate)>strtotime($endDate)){
//如果开始日期大于结束日期,直接return 防止下面的循环出现死循环
return $dates;
}elseif($startDate == $endDate){
//开始日期与结束日期是同一天时
array_push($dates,$startDate);
return $dates;
}else{
array_push($dates,$startDate);
$currentDate = $startDate;
do{
$nextDate = date('Y-m-d', strtotime($currentDate.' +1 days'));
array_push($dates,$nextDate);
$currentDate = $nextDate;
}while($endDate != $currentDate);
return $dates;
}
}
打印结果: