function getDateDiff($date_one,$date_two){ // 指定两个日期,转换为 Unix 时间戳 $date1 = strtotime($date_one); $date2 = strtotime($date_two); //计算两个日期之间的时间差 $diff = abs($date2 - $date1); //转换时间差的格式 $years = floor($diff / (365*60*60*24)); $months = floor(($diff - $years * 365*60*60*24) / (30*60*60*24)); $days = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24)/ (60*60*24)); $hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24) / (60*60)); $minutes = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60); $seconds = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60 - $minutes*60)); return [$years, $months, $days, $hours, $minutes, $seconds]; } /** * 最大是按天算 * @param $date_one * @param $date_two * @return array */ function getDateDiffDayMax($date_one,$date_two){ // 指定两个日期,转换为 Unix 时间戳 $date1 = strtotime($date_one); $date2 = strtotime($date_two); //计算两个日期之间的时间差 $diff = abs($date2 - $date1); //转换时间差的格式 $years = 0; $months = 0; $days = floor(($diff)/ (60*60*24)); $hours = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24) / (60*60)); $minutes = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60)/ 60); $seconds = floor(($diff - $years * 365*60*60*24 - $months*30*60*60*24 - $days*60*60*24 - $hours*60*60 - $minutes*60)); return [$years, $months, $days, $hours, $minutes, $seconds]; } /** * 输入两个日期,并输入要返回的时间差展示 * @param $date_one * @param $date_two * @param array $back_type * @return string */ function getDateDiffFormat($date_one,$date_two,$back_type=[0,1,2,3,4,5]){ $diff_arr = $this->getDateDiff($date_one,$date_two); $word_arr = ['年','月','日','时','分','秒']; $str = ''; foreach ($back_type as $item){ $str .= $diff_arr[$item].$word_arr[$item]; } return $str; }
12-02
12-24
1万+