我想完成这项工作。 我想要的是显示一段时间而不是时间戳。
找到此功能,但它适用于unix日期。试图使用strtotime($ fecha)转换它,但我回应它和它的空...
您认为我必须更改计划,或者我只需要将日期格式转换为unix吗?
function hace($fecha){
//obtener la hora en formato unix
$ahora=time();
$fecha_unix = strtotime($fecha);
mostrar_notificacion($fecha_unix);
//obtener la diferencia de segundos
$segundos=$ahora-$fecha_unix;
//dias es la division de n segs entre 86400 segundos que representa un dia;
$dias=floor($segundos/86400);
//mod_hora es el sobrante, en horas, de la division de días;
$mod_hora=$segundos%86400;
//hora es la division entre el sobrante de horas y 3600 segundos que representa una hora;
$horas=floor($mod_hora/3600);
//mod_minuto es el sobrante, en minutos, de la division de horas;
$mod_minuto=$mod_hora%3600;
//minuto es la division entre el sobrante y 60 segundos que representa un minuto;
$minutos=floor($mod_minuto/60);
if($horas<=0){
return "hace ".$minutos." minutos";
}elseif($dias<=0){
return "hace ".$horas." horas ".$minutos." minutos";
}else{
return "hace ".$dias." dias ".$horas." horas y ".$minutos." minutos";
}
}
答案 0 :(得分:2)
我会做类似的事情:
$diff = $ahora - $fecha_unix;
$sec = $diff % 60;
$min = floor($diff / 60) % 60;
$hours = floor($diff / 3600) % 24;
$days = floor($diff / 86400);
答案 1 :(得分:0)