Разница между двумя строками даты и времени: установка часового пояса - PullRequest
1 голос
/ 25 декабря 2010

// Разница между двумя датами. Эта функция работает хорошо, но отображает неправильный формат времени.Пожалуйста, как я могу изменить время этой функции с GMT на GMT + 1?Отображает 15 часов 22 минуты вместо 16 часов 22 минуты.Спасибо

function get_date_diff($start, $end="NOW")
{
        $sdate = strtotime($start);
        $edate = strtotime($end);
        $timeshift = "";

        $time = $edate - $sdate;
        if($time>=0 && $time<=59) {
                // Seconds
                $timeshift = $time.' seconds ';

        } elseif($time>=60 && $time<=3599) {
                // Minutes + Seconds
                $pmin = ($edate - $sdate) / 60;
                $premin = explode('.', $pmin);

                $presec = $pmin-$premin[0];
                $sec = $presec*60;

                $timeshift = $premin[0].' min '.round($sec,0).' sec '."<b>ago</b>";

        } elseif($time>=3600 && $time<=86399) {
                // Hours + Minutes
                $phour = ($edate - $sdate) / 3600;
                $prehour = explode('.',$phour);

                $premin = $phour-$prehour[0];
                $min = explode('.',$premin*60);

                $presec = '0.'.$min[1];
                $sec = $presec*60;

                $timeshift = $prehour[0].' hrs '.$min[0].' min '.round($sec,0).' sec '."<b>ago</b>";

        } elseif($time>=86400) {
                // Days + Hours + Minutes
                $pday = ($edate - $sdate) / 86400;
                $preday = explode('.',$pday);

                $phour = $pday-$preday[0];
                $prehour = explode('.',$phour*24); 

                $premin = ($phour*24)-$prehour[0];
                $min = explode('.',$premin*60);

                $presec = '0.'.$min[1];
                $sec = $presec*60;

                $timeshift = $preday[0].' days '.$prehour[0].' hrs '.$min[0].' min '.round($sec,0).' sec '."<b>ago</b>";


        }
        return $timeshift;
}

1 Ответ

0 голосов
/ 25 декабря 2010

Установите часовой пояс с помощью функции date_default_timezone_set().Если это не сработает, у вас PHP <5.1.0 и вы должны установить переменную окружения <code>TZ.Проверьте здесь для подробного порядка предпочтений, используемого для определения часового пояса.

Вы также можете пропустить весь этот код и использовать функцию date(), чтобы получитьполученная строка даты и времени в практически любом формате, который вы пожелаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...