1,获取本月第一天和最后一天的日期和时间戳

    1. //获取本月第一天和最后一天的日期
    2. $starttime = date('Y-m-01', strtotime(date("Y-m-d")));
    3. $endtime = date('Y-m-d', strtotime("$starttime +1 month -1 day"));
    4. //获取本月第一天和最后一天的时间戳
    5. $beginThismonth=mktime(0,0,0,date('m'),1,date('Y'));
    6. $endThismonth=mktime(23,59,59,date('m'),date('t'),date('Y'));

    2,计算两个时间戳相隔的小时数

    1. /**
    2. * 计算两个日期相隔小时差
    3. * @param $start_date
    4. * @param $end_date
    5. * @return float
    6. */
    7. public static function getDiffHours($start_date, $end_date)
    8. {
    9. if(is_int($start_date)) $start_date = date('Y-m-d H:i:s',$start_date);
    10. if(is_int($end_date)) $end_date = date('Y-m-d H:i:s',$end_date);
    11. return floor((strtotime($end_date)-strtotime($start_date))%86400/3600);
    12. }

    3,计算两个时间戳相隔的天数

    1. /**
    2. * 计算两个日期相隔天数
    3. *
    4. * @param $start
    5. * @param $end
    6. * @return mixed
    7. */
    8. public static function getDiffDays($start, $end){
    9. if(is_int($start)) $start = date('Y-m-d H:i:s',$start);
    10. if(is_int($end)) $end = date('Y-m-d H:i:s',$end);
    11. $datetime_start = date_create($start);
    12. $datetime_end = date_create($end);
    13. $days = date_diff($datetime_start, $datetime_end)->days;
    14. return $days;
    15. }