Autor | Zpráva | ||
---|---|---|---|
jtfcobra Profil |
#1 · Zasláno: 25. 11. 2014, 12:10:58
Ahoj potřeboval bych poradi jak sečtu odpracované hodiny v PHP? Děkuji moc za radu
12:09:17 12:33:12 11:37:10 06:57:40 12:15:11 |
||
juriad Profil |
Vyber si:
$s = (17+12+10+40+11) + (9+33+37+57+15) * 60 + (12+12+11+6+12) * 3600; # buď $s = (12*3600+9*60+17)+(12*3600+33*60+12)+(11*3600+37*60+10)+(6*3600+57*60+40)+(12*3600+15*60+11); # nebo # $s je odpracovaná doba v sekundách # toto jem převádí sekundy na hodiny, minuty a zbylé sekundy $h = $s / 3600; $s %= 3600; $m = $s / 60; $s %= 60; echo "$h:$m:$s"; |
||
jtfcobra Profil |
#3 · Zasláno: 26. 11. 2014, 00:23:47
Vypada to zajimave ale jak tam dostanu ten cas?
12:09:17 12:33:12 11:37:10 06:57:40 12:15:11 // jak dostanu z 12:09:17 ?? (a , b ,c)? $a=?? $b=?? $c=?? $s= ($a*3600+$b*60+$c) // pak je vysledek?? $h = $s / 3600; $s %= 3600; $m = $s / 60; $s %= 60; echo "$h:$m:$s" |
||
Alphard Profil |
#4 · Zasláno: 26. 11. 2014, 00:40:38
Byl to jen nástřel, nad kterým jste se měl zamyslet. Celkově je reprezentace času jako
12:09:17 krajně nevhodná pro jakékoliv výpočty.
Nejlepší bude vstupy hned převést na číslo (resp. na vhodný objekt), s tím pracovat a v jiném formátu dělat jen výpisy. function HisToSec($timeString) { $parts = explode(':', $timeString); return 3600*$parts[0] + 60*$parts[1] + $parts[2]; } Mimochodem, kdybyste někde viděl radu použít strtotime (bohužel to vidím dost časo), pozor na časová pásma, pro tento účel se ta funkce nehodí. |
||
Časová prodleva: 9 let
|
0