PHP添加日或24小时

时间:2013-09-17 14:49:39

标签: php yii

我有一个应用程序,允许用户输入开始时间和结束时间。如果结束时间是第二天,我需要调整日期。目前有三个输入字段,date,battery_start和battery_end。

电池时间为24小时格式,没有:,即Hm。我正在检查计算结果是否小于0,battery_total< 0,如果是这样,我想将battery_end设置为第二天,但是用户进入该字段的时间。

     /**
     * if the flight spans two days, i.e. starts late at night
     * and ends early in the morning then adjust datetime
     */
    public function adjustFlightTime()
    {
        //check battery times
        if($this->battery_total < 0)
        {
            $this->battery_end = date('Y-m-d H:m:s', strtotime("$this->battery_end +1 days"));
            $this->battery_total = $this->battery_total +24;
        }
    }

每当我尝试保存新的battery_end时间时,我还会额外增加9分钟的时间,日期是正确的。

DJ

2 个答案:

答案 0 :(得分:2)

使用DateTime类:

$datetime = new DateTime($this->battery_end);
$datetime->add(new DateInterval('P1D'));
$this->battery_total = $datetime->format('Y-m-d H:i:s');

请注意,我还将m更改为i

答案 1 :(得分:1)

您必须写Y-m-d H:i:s,而不是Y-m-d H:m:s

m =月