Nasıl başlangıç ​​zamanı ve süresi dayalı bir bitiş saati hesaplanır?

3 Cevap php

Ben bir olay takvim oluşturma ve 2009-09-25 15:00:00 formatında, PHP bir başlangıç ​​zamanı geçirmek ediyorum. Bu süreç aynı zamanda iletilir, bu 60 dakika ya da 3 saat biçiminde olabilir. Dakika saat dönüştürme sorun değildir. Nasıl doğru bitiş saati biçimlendirmek için kurulmuş bir başlangıç ​​noktasına kadar süre eklerim?

3 Cevap

Kullanımı strtotime(), bir zaman damgası için geçerli zaman (2009-09-25 15:00:00) dönüştürebilirsiniz ve daha sonra ekleyin (60 * 60 * 3 = 3 saatten fazla) zaman damgası. Sonunda sadece istediğiniz ne zaman onu geri dönüştürün.

//Start date
$date = '2009-09-25 15:00:00';
//plus time
$plus = 60 * 60 * 3;
//Add them
$time = strtotime($date) + $plus;
//Print out new time in whatever format you want
print date("F j, Y, g:i a", $time);

Eğer yeterince yüksek bir sürüm numarası varsa kolay yolu:

$when = new DateTime($start_time);
$when->modify('+' . $duration);
echo 'End time: ' . $when->format('Y-m-d h:i:s') . "\n";

@ Xeoncross en iyi strtotime cevaba bir zeyilname olarak, strtotime() "gelecek pazartesi" "2009-09-25 3 saat", "25 Eylül +6 günler" gibi formatlarını destekler, "Geçen Cuma", "-15 dakika", vb