php iki veya daha fazla zaman dizeleri eklemek

2 Cevap php

Ben zaman (string) örneğin "02:23", "03:02:22" vb bir dizi var

$times = array("2:33", "4:2:22", "3:22") //loner

Tüm dizi toplamını bulmak istiyorum.

(: S "i") I "02:33" ve "3:33" gibi zamanlarda ekleyeceğimiz bir yolu var mı

teşekkürler

2 Cevap

Sen the PHP date/time functions bakmak isteyebilirsiniz - tek seçenek) strtotime gibi bir şey (kullanmak olacaktır:

$midnight = strtotime("0:00");

// ssm = seconds since midnight
$ssm1 = strtotime("2:33") - $midnight;
$ssm2 = strtotime("3:33") - $midnight;

// This gives you the total seconds since midnight resulting from the sum of the two
$totalseconds = $ssm1 + $ssm2; // will be 21960 (6 hours and 6 minutes worth of seconds)

// If you want an output in a time format again, this will format the output in
// 24-hour time:
$formattedTime = date("G:i", $midnight + totalseconds);

// $formattedTime winds up as "6:06"

Yani bir süre için saat, dakika ve saniye bir numara eklemek, yani bir süre bir süre eklemek ister misiniz?

Belki de böylece, bir sscanf kullanarak süresini eklemek sonra, bir süre için gece yarısından itibaren saniye almak için Dav strtotime kullanabilirsiniz:

$midnight = strtotime("0:00");

// ssm = seconds since midnight
$ssm1 = strtotime("2:33") - $midnight;

// sscanf the time string... you might need to include the possibility of seconds
list($hour, $minute) = sscanf("3:33", "%d:%d");

// a
$answer_ssm = $ssm + $hour * 3600 + $minute * 60;

echo strftime("%H:%M:%S", $answer_ssm);

Sadece bir örnek vermek için çalışıyoruz ... Ben bu yüzden lütfen yazım hataları mazur am nerede bu test edemez. Ayrıca elbette dizi boyunca yineleme gerekir.