Recherche du temps écoulé depuis une date et une heure en PHP
Déterminer le temps écoulé depuis une date et une heure spécifiques peut être utile dans diverses applications, comme l'affichage de l'heure depuis qu'un événement s'est produit. En PHP, il existe des moyens de calculer et de formater le temps écoulé de manière conviviale.
Calcul du temps écoulé
Pour calculer le temps écoulé entre une date donnée l'heure et l'heure actuelle, vous pouvez utiliser la fonction strtotime() pour convertir la représentation sous forme de chaîne de la date et de l'heure en un horodatage. L'horodatage peut ensuite être soustrait de l'horodatage actuel, qui représente l'heure actuelle en secondes depuis l'époque Unix (1er janvier 1970 UTC).
Par exemple :
$time = strtotime('2010-04-28 17:25:43'); $elapsedTime = time() - $time;
Formatage du temps écoulé
Une fois que vous avez le temps écoulé sous forme de nombre de secondes, vous pouvez le formater de manière conviviale. Une approche courante consiste à convertir les secondes en unités telles que des minutes, des jours ou des années. Vous pouvez utiliser une boucle pour parcourir une liste d'unités et leur nombre de secondes correspondant, puis renvoyer l'unité appropriée et sa valeur.
Par exemple, la fonction suivante calcule et formate le temps écoulé :
function humanTiming($time) { $tokens = array ( 31536000 => 'year', 2592000 => 'month', 604800 => 'week', 86400 => 'day', 3600 => 'hour', 60 => 'minute', 1 => 'second' ); foreach ($tokens as $unit => $text) { if ($time < $unit) continue; $numberOfUnits = floor($time / $unit); return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':''); } }
Exemple d'utilisation
Pour utiliser cette fonction, vous pouvez simplement transmettre l'horodatage en tant que argument :
$time = strtotime('2010-04-28 17:25:43'); echo 'Event happened '.humanTiming($time).' ago';
Cela affichera le temps écoulé dans un format adapté à l'affichage par l'utilisateur, tel que « L'événement s'est produit il y a 4 jours » ou « 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!