Ich habe Dauern in% RH: i: s-Format (wie + 00: 00: 00 oder -00: 00: 00) und ich will sie hinzufügen oder subtrahieren (mit dem negativen) und nicht innerhalb von 24 StundenBerechnung von negativen und positiven Stunden
Ex:
1/(09:30:15 + (- 10.00.00)) = -01: 30: 15.
2/22:00:00 + 03:00:00 = 25:00:00 (nicht 01.00.00 + 1 Tag)
Jede Idee? Danke im Voraus !
EDIT:
tat es schließlich. Ich weiß nicht, ob es der richtige Weg ist, aber es funktioniert ganz gut. Habe es mit Hilfe einer anderen Funktion in einem Forum gefunden.
function calc_hours($hour1,$hour2){
$si1 = $hour1[0]; $si2 = $hour2[0];
$hour1 = substr($hour1,1,8);
$hour2 = substr($hour2,1,8);
$secondes1=intval($si1.heure_to_secondes($hour1));
$secondes2=intval($si2.heure_to_secondes($hour2));
$somme=intval($secondes1+$secondes2);
//transfo en h:i:s
$s= ($somme % 60);
$m1= (($somme-$s)/60);
$m= ($m1 % 60);
$h= (($m1-$m)/60);
if($somme > 0) { $sif = '+'; }
$resultat=sprintf("%02d", $h).":".sprintf("%02d", abs($m)).":".sprintf("%02d", abs($s))."";
return $sif.$resultat;
}
function heure_to_secondes($heure){
$array_heure=explode(":",$heure);
$secondes=3600*$array_heure[0]+60*$array_heure[1]+$array_heure[2];
return $secondes;
}
Nennen Sie es mögen: calc_hours ('+ 27:45:16', '- 02.35.12');
Ja, verwenden Sie nicht die 'date()' oder die 'datetime' Klasse. – Daan
Weitere Informationen? Was verwende ich, wenn ich date() oder datetime class nicht verwenden kann? – hellodracon
Sie müssen selbst eine Formel erstellen. Eine Datetime berechnet immer mit 24 Stunden. – Daan