Home > Backend Development > PHP Tutorial > How Can I Efficiently Display Time Elapsed Since a Given Date-Time Stamp in PHP?

How Can I Efficiently Display Time Elapsed Since a Given Date-Time Stamp in PHP?

Linda Hamilton
Release: 2024-12-16 06:09:19
Original
482 people have browsed it

How Can I Efficiently Display Time Elapsed Since a Given Date-Time Stamp in PHP?

Determining Time Elapsed from a Date-Time Stamp in PHP

When dealing with date-time data, it's often essential to calculate the elapsed time since a specific point in the past. This practical question seeks to find an efficient method to convert a date-time stamp like "2010-04-28 17:25:43" into a user-friendly format such as "xx Minutes Ago" or "xx Days Ago."

To tackle this problem effectively, consider the following solution:

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

echo 'Event occurred ' . humanTiming($time) . ' ago';

function humanTiming($time) {
    $time = time() - $time;
    $time = ($time < 1) ? 1 : $time;
    $units = [
        31536000 => 'year',
        2592000 => 'month',
        604800 => 'week',
        86400 => 'day',
        3600 => 'hour',
        60 => 'minute',
        1 => 'second',
    ];

    foreach ($units as $unit => $text) {
        if ($time < $unit) {
            continue;
        }

        $numUnits = floor($time / $unit);

        return "$numUnits $text" . (($numUnits > 1) ? 's' : '');
    }
}
Copy after login

This solution utilizes PHP's strtotime() function to convert the input date-time string into a timestamp. It then subtracts the current timestamp from the input timestamp to obtain the elapsed time. To translate the elapsed time into a user-friendly format, it employs a predefined array of unit-to-text mappings ($units) and iterates through them to determine the appropriate unit (e.g., "day," "hour," etc.).

By implementing this approach, you can effectively determine and display the time elapsed since a given date-time stamp in PHP, providing clarity and convenience in your applications.

The above is the detailed content of How Can I Efficiently Display Time Elapsed Since a Given Date-Time Stamp in PHP?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template