How can PHP be used to format timestamps in a user-friendly way, such as "2 minutes ago" or "4 hours ago"?

To format timestamps in a user-friendly way like "2 minutes ago" or "4 hours ago" in PHP, you can use the `DateTime` class along with the `DateTimeZone` class to calculate the time difference between the current time and the timestamp. Then, based on the time difference, you can determine if it was minutes, hours, days, etc., ago and display the appropriate message.

function formatTimeAgo($timestamp) {
    $datetime1 = new DateTime($timestamp);
    $datetime2 = new DateTime('now', new DateTimeZone('UTC'));
    $interval = $datetime1->diff($datetime2);
    
    if ($interval->y > 0) {
        return $interval->y . " years ago";
    } elseif ($interval->m > 0) {
        return $interval->m . " months ago";
    } elseif ($interval->d > 0) {
        return $interval->d . " days ago";
    } elseif ($interval->h > 0) {
        return $interval->h . " hours ago";
    } elseif ($interval->i > 0) {
        return $interval->i . " minutes ago";
    } else {
        return "Just now";
    }
}

// Example usage
$timestamp = "2022-01-01 12:00:00";
echo formatTimeAgo($timestamp);