Maison > développement back-end > tutoriel php > Comment convertir les horodatages PHP en chaînes « Time Ago » lisibles par l'homme ?

Comment convertir les horodatages PHP en chaînes « Time Ago » lisibles par l'homme ?

Barbara Streisand
Libérer: 2024-12-23 13:28:05
original
883 Les gens l'ont consulté

How to Convert PHP Timestamps to Human-Readable

Conversion d'horodatages en temps lisible par l'homme en PHP

En PHP, vous pouvez convertir des horodatages en chaînes de temps écoulé à l'aide de la fonction time_elapsed_string().

Fonction Définition

function time_elapsed_string($datetime, $full = false) {
    // Get the current date and time
    $now = new DateTime;

    // Create a DateTime object from the input timestamp
    $ago = new DateTime($datetime);

    // Calculate the difference between the current time and the input timestamp
    $diff = $now->diff($ago);

    // Convert weeks and days to days
    $diff->w = floor($diff->d / 7);
    $diff->d -= $diff->w * 7;

    // Create an array of time units and their corresponding English names
    $string = [
        'y' => 'year',
        'm' => 'month',
        'w' => 'week',
        'd' => 'day',
        'h' => 'hour',
        'i' => 'minute',
        's' => 'second',
    ];

    // Iterate through the time units and add them to the output string if they are greater than 0
    foreach ($string as $k => &$v) {
        if ($diff->$k) {
            $v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : '');
        } else {
            unset($string[$k]);
        }
    }

    // If the `$full` parameter is false, only return the first time unit
    if (!$full) $string = array_slice($string, 0, 1);

    // Return the formatted time elapsed string
    return $string ? implode(', ', $string) . ' ago' : 'just now';
}
Copier après la connexion

Utilisation

echo time_elapsed_string('2013-05-01 00:22:35'); // Output: 4 months ago
echo time_elapsed_string('@1367367755');          // Output: 4 months ago
echo time_elapsed_string('2013-05-01 00:22:35', true); // Output: 4 months, 2 weeks, 3 days, 1 hour, 49 minutes, 15 seconds ago
Copier après la connexion

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal