2012-06-18 35 views
6

Tôi có biến này:PHP - strtotime - Thêm giờ

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

tôi chỉ đơn giản muốn thêm ba tiếng đồng hồ và echo nó ra.

Tôi đã thấy cách bạn có thể thực hiện phương pháp 60 * 60 * 3 hoặc mã cứng "+ 3 giờ", nơi nó hiểu các từ.

Cách tốt nhất để nhận kết quả này là gì?

Trả lời

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

3*60*60 là cách tốt nhất

0

Nếu bạn muốn đi 'hiện đại':

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

refs: DateTime đối tượng

+0

Đó sẽ là DateInterval ('PT3H'), IMHO, –

12

Cách tốt nhất là những gì bạn nghĩ là dễ đọc hơn. Các khái niệm sau là giống hệt nhau:

time() + 3 * 60 * 60 

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

rõ ràng và súc tích :)

4

tôi luôn luôn làm như thế này

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

hoặc

$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

Chỉ cần thêm giây để thêm giờ:

strtotime($your_date)+2*60*60 

Điều này sẽ thêm hai giờ vào ngày của bạn.

Các vấn đề liên quan