Вопрос по mysql, php, sql – Unix отметка времени в днях, часах, минутах

2

Итак, у меня есть поле в моей таблице пользователей с именемlast_active который обновляется каждый раз, когда пользователь перезагружает страницу.
 Он хранится в метке времени Unix.

Я хотел бы вывести это так:Last online: 4 d 18 h 19 m ago

Как можно это сделать? Можете ли вы сделать это с помощью php date ()?

Спасибо.

Ваш Ответ

5   ответов
0

Error: User Rate Limit Exceeded

function minutes_to_time($minutes)
{
    $obj = "";

    // extract days
    $days = floor($minutes/(1440)); # Divide on the daily minutes 60 min * 24 hours
    # echo "Days: " . $days;

    // extract hours
    $hours = floor(($minutes-($days*1440))/60);
    # echo " Hours: " . $hours;

    // extract left minutes
    $minutes = ($minutes-($days*24*60)-($hours*60));
    # echo " Minutes: " . $minutes;

    if ($days > 0)
    {
        $obj .= $days . "d ";
    }
    if ($hours > 0)
    {
        $obj .= $hours . "h ";
    }
    if ($minutes >= 0)
    {
        $obj .= $minutes . "m ";
    }

    $obj .= "ago";

    return $obj;
}
1

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

1

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

echo timeDiff(1350297908);Error: User Rate Limit Exceeded
echo timeDiff(1350297908, 1);Error: User Rate Limit Exceeded

function timeDiff( $from, $levels=7 ){  
    $now = time();
    $diff = ($from > $now) ? $from - $now : $now - $from;
    $status = ($from > $now) ? ' away' : ' ago';
    $times = array(31536000, 2628000, 604800, 86400, 3600, 60, 1);
    $words = array('year', 'month', 'week', 'day', 'hour', 'minute', 'second');
    $str = array();
    foreach ($times as $k=>$v){
        $val = floor($diff/$v);
        if ($val) {
            $str[] = $val .' '. $words[$k] . ($val==1 ? '' : 's');
            $levels--;
        }
        $diff %= $v;
        if ($levels==0) break;
    }
    return implode(', ', $str) . $status;
}
4

Error: User Rate Limit Exceeded

select date_format(from_unixtime(current_timestamp - last_timestamp), 
    'Last online: %e days, %k hours, %i minutes, %s seconds ago.');

(current_timestampError: User Rate Limit Exceededunix_timestamp(now())Error: User Rate Limit Exceeded

DATE_FORMATError: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
3

Error: User Rate Limit Exceededlast_activeError: User Rate Limit Exceededtime()Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы