Escribir Fechas Estilo Facebook
Con esta simple función se pueden escribir fechas con el estilo de Facebook, por ejemplo:
hace 2 minutos
hace 1 año
hace 25 segundos
y si la fecha está en el futuro tambien nos lo indica:
desde ahora en 30 segundos
Se trata de una función lllamada fn_FacebookTime, más abajo os dejo el código. Sólo basta llamarla de la siguiente manera:
$date = "23-03-2015 12:24:34"; // Esta fecha es la que se compara con la actual.
echo fn_FacebookTime($date);
Este es el código de la función:
/**************************************************************************/
/**************************************************************************/
/**************************************************************************/
//
//
// Función que convierte una determinada fecha y hora a estilo Facebook
// Valencia Páginas Web
//
/**************************************************************************/
/**************************************************************************/
/**************************************************************************/
function fn_FacebookTime($date)
{
date_default_timezone_set("Europe/Madrid");
if(empty($date)) {
return "No date provided";
}
$periods = array("segundo", "minuto", "hora", "dia", "semana", "mes", "año", "década");
$lengths = array("60","60","24","7","4.35","12","10");
$now = time();
$date = date("Y-m-d H:i:s",strtotime($date));
$unix_date = strtotime($date);
//Comprobación de la fecha
if(empty($unix_date)) {
return "Fecha Errónea";
}
// Es futuro o pasado la fecha
if($now > $unix_date) {
$difference = $now - $unix_date;
$tense = "hace";
} else {
$difference = $unix_date - $now;
$tense = "desde ahora en";
}
for($j = 0; $difference >= $lengths[$j] && $j < count($lengths)-1; $j++) {
$difference /= $lengths[$j];
}
$difference = round($difference);
// Obteniendo los plurales, en mes se añade "es" y "s" en el resto
if($difference != 1) {
if($j==5){
$periods[$j].= "es";
} else {
$periods[$j].= "s";
}
}
return "{$tense} $difference $periods[$j] ";
}
/****************************************************************************/
/****************************************************************************/
/****************************************************************************/
Espero que os ayude,
Saludos
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario