【发布时间】:2011-05-31 12:44:26
【问题描述】:
我正在努力完成这项工作。 我想要的是显示时间而不是时间戳。
找到了这个函数,但它适用于 unix date。尝试使用 strtotime($fecha) 对其进行转换,但我回显它及其 null...
您认为我必须更改计划,或者我只需要将日期格式正确转换为 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";
}
}
【问题讨论】:
-
$fecha 有什么格式?它是 UNIX 时间戳数字还是日期时间字符串?
-
如果
$fecha是一个包含可解析日期的字符串,那么函数应该没问题。 -
正如我所说,它是一个时间戳,它包含例如:'2010-12-22 10:12:30'
标签: php mysql timestamp unix-timestamp