Cómo Mostrar “Hace 12 Minutos” en Páginas Web PHP
El tiempo es un aspecto esencial de las interfaces de usuario, especialmente en aplicaciones web donde mostrar el tiempo transcurrido desde un evento relevante mejora la experiencia del usuario. Una forma común de hacer esto es mostrar mensajes como “hace 12 minutos” o “hace 5 segundos”. En esta entrada del blog, exploraremos cómo implementar esta función en tu aplicación PHP a través de una función práctica.
¿Por Qué Usar Formato de Tiempo Transcurrido?
Mostrar el tiempo en un formato transcurrido tiene varias ventajas, incluyendo:
- Claridad: En lugar de mostrar una fecha y hora específicas, que podrían confundir a los usuarios, el tiempo transcurrido es intuitivo.
- Relevancia: Proporciona un contexto inmediato relacionado con los eventos, ayudando a los usuarios a entender la actualidad de la información (por ejemplo, qué tan reciente es una publicación).
- Brevedad: Los mensajes de tiempo abreviados mantienen tu interfaz limpia y amigable para el usuario.
La Solución: Implementando la Función de Tiempo Transcurrido
Para mostrar mensajes como “hace 12 minutos”, podemos crear una función PHP llamada time_since()
que toma el número de segundos desde un evento como entrada y devuelve una cadena legible por humanos que representa cuánto tiempo ha pasado desde que ocurrió.
Aquí se muestra cómo se ve la función en PHP:
function time_since($since) {
$chunks = array(
array(60 * 60 * 24 * 365 , 'año'),
array(60 * 60 * 24 * 30 , 'mes'),
array(60 * 60 * 24 * 7, 'semana'),
array(60 * 60 * 24 , 'día'),
array(60 * 60 , 'hora'),
array(60 , 'minuto'),
array(1 , 'segundo')
);
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0) {
break;
}
}
$print = ($count == 1) ? '1 '.$name : "$count {$name}s";
return $print;
}
Desglosando la Función
-
Definición de Intervalos de Tiempo: La función define un array llamado
$chunks
. Este array contiene diferentes intervalos de tiempo y sus etiquetas correspondientes (es decir, años, meses, semanas, días, horas, minutos, segundos). Estos intervalos ayudan a determinar cómo expresar el tiempo transcurrido. -
Cálculo del Tiempo Transcurrido: Un bucle itera a través del array
$chunks
para encontrar la unidad de tiempo más grande que corresponde al número de segundos transcurridos. La función calcula cuántas de esa unidad encajan en el tiempo dado. -
Formato de la Salida: Una vez encontrada la unidad de tiempo adecuada, la función formatea la cadena de retorno. Si el tiempo es singular (por ejemplo, “1 minuto”), evita pluralizar la unidad. De lo contrario, añade una ’s’ al final (por ejemplo, “2 minutos”).
Ejemplo de Uso
Para utilizar esta función, simplemente llámala con el número de segundos como argumento. Por ejemplo:
echo time_since(720); // Salida: "12 minutos"
echo time_since(5); // Salida: "5 segundos"
Este método facilita la visualización de cuánto tiempo ha pasado desde que ocurrió un evento en un formato que es fácil de entender a simple vista.
Conclusión
Implementar una simple función time_since()
puede mejorar significativamente la forma en que se presenta el tiempo en tu aplicación PHP. No solo proporciona el contexto necesario, sino que también crea una experiencia de usuario más atractiva y amigable. Al aprovechar el formato de tiempo transcurrido, puedes crear una interfaz convincente que ayude a los usuarios a entender fácilmente la actualidad del contenido con el que interactúan.
Siéntete libre de adaptar y expandir esta función para satisfacer tus necesidades, y pronto tu aplicación web será más amigable e informativa. ¡Feliz codificación!