Maison > développement back-end > tutoriel php > Comment puis-je calculer et afficher le temps écoulé dans un format lisible par l'homme (par exemple, « il y a xx minutes ») en PHP ?

Comment puis-je calculer et afficher le temps écoulé dans un format lisible par l'homme (par exemple, « il y a xx minutes ») en PHP ?

DDD
Libérer: 2024-12-09 05:36:09
original
756 Les gens l'ont consulté

How Can I Calculate and Display Elapsed Time in a Human-Readable Format (e.g.,

Calcul du temps écoulé depuis une date et une heure en PHP

Détermination du temps écoulé depuis une date et une heure données, telles que "2010-04 -28 17:25:43", est une tâche courante en programmation. L'objectif est de générer une sortie conviviale indiquant le décalage horaire dans un format concis comme "il y a xx minutes" ou "il y a xx jours".

Représentation personnalisée de l'heure

Bien que la conversion de la chaîne de date en objet temporel soit une étape nécessaire, de nombreuses réponses négligent le format de sortie souhaité. Pour obtenir le format « xx minutes il y a », une fonction personnalisée est requise.

Humanisation des calculs de temps

Une approche efficace consiste à utiliser la fonction humanTiming(), qui calcule la différence de temps entre l'heure actuelle et l'horodatage fourni. Dans la fonction :

  1. La différence de temps (en secondes) est calculée en soustrayant l'horodatage de l'heure actuelle.
  2. Un tableau d'unités de temps et leurs représentations textuelles correspondantes sont définies.
  3. La fonction parcourt le tableau et vérifie quelle unité est applicable en fonction du décalage horaire.
  4. Le nombre d'unités qui ont passé est déterminé et la représentation textuelle appropriée est renvoyée.

Exemple d'utilisation

Pour utiliser la fonction :

$time = strtotime('2010-04-28 17:25:43');

echo 'event happened '.humanTiming($time).' ago';
Copier après la connexion

Sortie

En fonction du décalage horaire, la sortie sera au format souhaité, tel comme :

  • "l'événement s'est produit il y a 4 jours"
  • "l'événement s'est produit il y a 1 minute"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal