2011-07-07 72 views
1

我在我的數據庫兩次:PHP時間算術

$time1 = "02:00:03"; 
$time2 = "04:00:04"; 

,我想讓它們添加$time1 + $time2什麼是做到這一點的最好方法是什麼?

我與性差異沒有問題,因爲我可以做這樣的事情:

$end = new DateTime($this->hora_final); 
$start = new DateTime($this->hora_inicio); 
$diff = $end->diff($start); 

$diff->format('%H:%I:%S'); 

和它的作品完美...但我似乎無法找到一種方法將它們加入到任何...想法?

Regards

回答

1

DateTime::add()。添加兩個日期確實沒什麼意義,因此您不能將$time2視爲DateTime,將其添加到time1。通常你會說類似01.04. + 2 days,但不是01.04. + 02.00。該方法接受DateInterval類型的對象。要創建它,我建議使用類似

list($hour, $min, $second) = explode(':', $time2); 
$interval = new DateInterval("PT{$hour}H{$min}M{$second}S"); 

現在你應該可以間隔添加到日期

$x = new DateTime($time1); 
$y = $x->add($interval); 

(未經測試)

+0

我不需要的日期部分。 。我只需要添加這個格式的時間H:m:s – richardalberto

+0

ehm ...那就是我所描述的:?它只是:'日期+時間間隔=日期'和(根據你的「差異」的例子)'日期 - 日期=間隔時間(Matematical:'x - y = z <=> x = z + y';)) – KingCrunch

+0

是的,當我發表評論時,我沒有看到修改:)像一個魅力的小修改: list($ hour,$ min,$ second)= $ time2; 列表($小時,$ min,$秒)=爆炸(「:」,$ time2); – richardalberto