Php 两个日期时间字符串之间的差异:设置时区

Php 两个日期时间字符串之间的差异:设置时区,php,datetime,timezone,Php,Datetime,Timezone,//两个日期之间的差异 此功能工作正常,但显示错误的时间格式。请告诉我如何将此功能的时间从GMT更改为GMT+1?显示15小时22分钟,而不是16小时22分钟。 谢谢 函数get\u date\u diff($start,$end=“NOW”) { $sdate=strottime($start); $edate=strottime($end); $timeshift=“”; $time=$edate-$sdate; 如果($time>=0&&$time=60&&$time=3600&&$tim

//两个日期之间的差异 此功能工作正常,但显示错误的时间格式。请告诉我如何将此功能的时间从GMT更改为GMT+1?显示15小时22分钟,而不是16小时22分钟。 谢谢

函数get\u date\u diff($start,$end=“NOW”) { $sdate=strottime($start); $edate=strottime($end); $timeshift=“”; $time=$edate-$sdate; 如果($time>=0&&$time=60&&$time=3600&&$time=86400){ //天+小时+分钟 $pday=($edate-$sdate)/86400; $preday=爆炸('.',$pday); $phour=$pday-$preday[0]; $prehour=爆炸('.',$phour*24); $premin=($phour*24)-$prehour[0]; $min=爆炸('.',$premin*60); $presec='0.$min[1]; $sec=$presec*60; $timeshift=$preday[0]。'days'.$prehour[0]。'hrs'.$min[0]。'min'。round($sec,0)。'sec'。“ago”; } 返回$timeshift; }
使用该功能设置时区。如果这不起作用,你就得谢谢。我已经弄明白了。我的php.ini中的时区是错误的。我在玩不同的时区。尽管如此,还是谢谢你。@Frank如果答案对你来说足够好,你能把它标记为接受吗?要么这样,要么加入你自己的答案,解释你做了什么,并接受它。
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;
}