Maison >développement back-end >tutoriel php >Comment puis-je calculer et afficher le temps écoulé depuis un horodatage en PHP ?

Comment puis-je calculer et afficher le temps écoulé depuis un horodatage en PHP ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-19 07:47:10406parcourir

How Can I Calculate and Display the Time Elapsed Since a DateTime Stamp in PHP?

Détermination du temps écoulé depuis un horodatage DateTime en PHP

En PHP, obtenir le temps écoulé depuis un horodatage spécifique est crucial. Ces informations peuvent être utiles pour afficher le temps écoulé dans un format convivial, tel que « il y a xx minutes » ou « il y a xx jours ».

Solution :

Le code fourni illustre une approche efficace pour convertir un horodatage en une heure relative format :

<?php
$timestamp = strtotime('2010-04-28 17:25:43');

function humanTiming($timestamp) {
    $difference = time() - $timestamp;
    $tokens = array(
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second'
    );

    foreach ($tokens as $unit => $text) {
        if ($difference < $unit) continue;
        $units = floor($difference / $unit);
        return $units . ' ' . $text . (($units > 1) ? 's' : '');
    }
}

echo 'Event occurred ' . humanTiming($timestamp) . ' ago';
?>

Explication :

  • La fonction strtotime() convertit l'horodatage fourni ('2010-04-28 17:25 :43') dans un horodatage UNIX.
  • La fonction humanTiming() calcule la différence entre l'heure actuelle et l'horodatage.
  • La fonction parcourt ensuite un tableau d'unités de temps (année, mois, semaine, etc.) et leurs représentations textuelles correspondantes.
  • Elle vérifie si la différence de temps est plus grande supérieur ou égal à l'unité actuelle et renvoie la représentation textuelle appropriée.
  • Enfin, la chaîne renvoyée est ajoutée à la sortie, indiquant le temps relatif écoulé depuis le horodatage.

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!

Déclaration:
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