我用下面的方法比较两个不同时间2008年07月15日12点00和现在系统时间的时间差。function date_diff_as_text($ts1, $ts2)
{
$ts1 = strtotime($ts1);
$ts2 = strtotime($ts2);
$diff = abs($ts1-$ts2); $sec_min = 60;
$sec_hour = $sec_min*60;
$sec_dias = $sec_hour*24; $dias = intval($diff/$sec_dias);
$hours = intval($diff/$sec_hour)%24;
$time=($dias*24)+$hours+($minutes/60)+($seconds/3600);
echo $time; $result = explode(" ", $result);
if (count($result)>2)
{
end($result);
$key1 = key($result);
prev($result);
$key2 = key($result);
$aux = $result[$key2];
$aux .= " ".$result[$key1];
unset($result[$key1]);
unset($result[$key2]);
$result = implode(" ", $result);
$result .= " y $aux";
}
else
{
$result = implode(" ", $result);
}
return $result;
}
$ts1 = "200807151200";
$ts2 = date("Y-m-d H:i:s", time()+8*60*60);
echo date_diff_as_text($ts1, $ts2)."个小时前<br />"; 完成后输出显示的是多少个小时前。比如我现在是2008年07月17日17点,那么输出的结果就是53个小时了。但是我想输出的结果是天数+小时,(如2天5小时前)该怎么做呢?又或者我前者的时间是07年7月15的,(如1年2天5小时)我又该怎么做才能把值输出来呢?
不知道该怎么换算,望高手花点时间指教一下,不胜感激!
{
$ts1 = strtotime($ts1);
$ts2 = strtotime($ts2);
$diff = abs($ts1-$ts2); $sec_min = 60;
$sec_hour = $sec_min*60;
$sec_dias = $sec_hour*24; $dias = intval($diff/$sec_dias);
$hours = intval($diff/$sec_hour)%24;
$time=($dias*24)+$hours+($minutes/60)+($seconds/3600);
echo $time; $result = explode(" ", $result);
if (count($result)>2)
{
end($result);
$key1 = key($result);
prev($result);
$key2 = key($result);
$aux = $result[$key2];
$aux .= " ".$result[$key1];
unset($result[$key1]);
unset($result[$key2]);
$result = implode(" ", $result);
$result .= " y $aux";
}
else
{
$result = implode(" ", $result);
}
return $result;
}
$ts1 = "200807151200";
$ts2 = date("Y-m-d H:i:s", time()+8*60*60);
echo date_diff_as_text($ts1, $ts2)."个小时前<br />"; 完成后输出显示的是多少个小时前。比如我现在是2008年07月17日17点,那么输出的结果就是53个小时了。但是我想输出的结果是天数+小时,(如2天5小时前)该怎么做呢?又或者我前者的时间是07年7月15的,(如1年2天5小时)我又该怎么做才能把值输出来呢?
不知道该怎么换算,望高手花点时间指教一下,不胜感激!
$dif = abs(strtotime($time1) - strtotime($time2)));
$day = $dif/(3600*24);
$hou = ($dif - (3600*24*$day))/3600;
return "相差".$day ."天".$hou."小时";
}