2012-06-18 40 views
6

我有這個變量:PHP - strtotime - 將添加小時

$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time()); 

我只是想添加三個小時,呼應了出來。

我已經看到了你可以在哪裏做60 * 60 * 3的方法或硬編碼「+ 3小時」的地方,它理解單詞。

得到這個結果的最好方法是什麼?

回答

5
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time() + 3*60*60) 

3*60*60是您可以使用DateTime::modify添加時間的最好方式

0

,但我只是做time()+10800

0

如果你想要去的 '現代':

$d = new DateTime(); 
$d->add(new DateInterVal('P3H')); 
$timestamp = $d->format('Y-M-d h:i:s a'); 

裁判:DateTime對象

+0

這將是DateInterval('PT3H'),恕我直言, –

12

的最好方法是什麼您認爲是更具可讀性。以下表達式是相同的:

time() + 3 * 60 * 60 

strtotime('+3 hours') 
1
$time = new DateTime("+ 3 hour"); 
$timestamp = $time->format('Y-M-d h:i:s a'); 

簡潔明瞭:)

4

我總是做這樣的

$current_time = date('Y-m-d H:i:s'); 
$new_time = strtotime($current_time . "+3hours"); 
echo $new_time; 

$new_time = mktime(date('H')+3, 0, 0, date('m'), date('d'), date('Y')); 
$new_time = date('Y-m-d H:i:s', $new_time); 
echo $new_time; 
0

只需添加秒,添加小時:

strtotime($your_date)+2*60*60 

這將在您的日期添加兩個小時。