1,获取本月第一天和最后一天的日期和时间戳
//获取本月第一天和最后一天的日期
$starttime = date('Y-m-01', strtotime(date("Y-m-d")));
$endtime = date('Y-m-d', strtotime("$starttime +1 month -1 day"));
//获取本月第一天和最后一天的时间戳
$beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
$endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));
2,计算两个时间戳相隔的小时数
/**
* 计算两个日期相隔小时差
* @param $start_date
* @param $end_date
* @return float
*/
public static function getDiffHours($start_date, $end_date)
{
if(is_int($start_date)) $start_date = date('Y-m-d H:i:s',$start_date);
if(is_int($end_date)) $end_date = date('Y-m-d H:i:s',$end_date);
return floor((strtotime($end_date)-strtotime($start_date))%86400/3600);
}
3,计算两个时间戳相隔的天数
/**
* 计算两个日期相隔天数
*
* @param $start
* @param $end
* @return mixed
*/
public static function getDiffDays($start, $end){
if(is_int($start)) $start = date('Y-m-d H:i:s',$start);
if(is_int($end)) $end = date('Y-m-d H:i:s',$end);
$datetime_start = date_create($start);
$datetime_end = date_create($end);
$days = date_diff($datetime_start, $datetime_end)->days;
return $days;
}