PHP预订系统 - 计算给出错误结果的时间

时间:2016-08-26 05:21:03

标签: php

我正在开发一个简单的汽车租赁系统的uni项目。我在计算时间(汽车租赁的天数和小时数)时遇到问题

现在时间(我在哪里)是下午12:15

CODE:

        //Test Variables
         $ciDate = '2016-08-28';
         $ciTime = '13:10';

        //calc Time
        $calcDate = $ciDate.$ciTime;        
        $calcDate =  strtotime($calcDate);
        $remaining = $calcDate - time();
        $days_remaining = floor($remaining / 86400);
        $hours_remaining = floor(($remaining % 86400) / 3600);
        $totPrice = $days_remaining * 4;
        //Disp Result
        echo $days_remaining. ' Days and ' . $hours_remaining. ' hours';

我的问题

当执行上述代码时,我会回来2天5小时,这是不正确的,考虑到我现在的时间是2016/08/26下午12:15

我想在这里走出困境并猜测问题是由于服务器时间与我当前的时间不同而导致的?

有关如何解决上述问题的任何建议,非常感谢。

编辑:

在撰写本文时,正确的结果应为2天1小时

1 个答案:

答案 0 :(得分:3)

我不知道您所在的时区,但看起来您的服务器位于不同的区域 您有多种方法可以解决此问题,但这里是code方式。

date_default_timezone_set ( string $timezone_identifier );

所以,如果你在Bagdhad,你就放

date_default_timezone_set("Asia/Baghdad");

或者无论你是谁。

请参阅此链接http://php.net/manual/en/timezones.asia.php