:
echo date("H:i:s",$endtime-$starttime);
$endtime-$starttime
saniyede süresini verir, date çıkışını biçimlendirmek için kullanılır. veri tabanına kaydetme ve okuma gibi bir problem senin problemin değil, bu yüzden benim örneğimde bıraktım. Bu çalışmayı elde etmek için microtime(true)
'u kullanmanız gerekeceğini unutmayın, microtime()
'un alanla ayrılmış çıktısı ile kolayca hesaplama yapamazsınız.
DÜZENLEME: Eğer de kendi başınıza tüm hesaplama yapabilir. sadece temel matematik Bu gibi:
$duration = $endtime-$starttime;
$hours = (int)($duration/60/60);
$minutes = (int)($duration/60)-$hours*60;
$seconds = (int)$duration-$hours*60*60-$minutes*60;
İlk:
microtime mikrosaniye zaman bir ölçü dönmek ve temelde mikrosaniye dönüştürülebilir php işlevinin adıdır Örnek her zaman işe yaramaz. microtime, açıkça 1/1/70 00:00:00 UTC'de başlayan bir unix zaman damgası döndürür. Eğer $ endtime - $ starttime' 24 saatten büyükse, döndürülen fark zaman damgası 2/1/70 01:00:00 UTC'yi temsil eder (tam olarak 25 saat olduğu varsayılır). Bunu 'H: i: s' biçiminde biçimlendirmek bir saat gibi görünen 01: 00: 00 'dır. –
Ayrıca, ikinci örneğinizde 'microtime()', 'timestamp microseconds 'dizesini döndürdüğüne işaret etmeye değer olabilir - bu konuda matematik yapamazsınız, bu yüzden' microtime (true) 'işlevini kullanmanız gerekir Bir şamandıra –
oh olsun, hint adam için teşekkürler, bunu düşünmedim, ama haklısın: eğer süre 24 saatten fazla olabilirse, ilk çözümüm işe yaramazdı. "d" (ve "m" ve "Y" ise ") gün sayısı da çıktısı almak veya hesaplamayı elle yapmak için (ikinci örneğim gösteriliyor gibi) – oezi