2017-09-18 6 views
0

Ich versuche, die Zeitdifferenz in Stunden zwischen zu Zeiten im Format hh: mm zu berechnen. Das Problem ist, dass die Daten sowohl in 12 Stunden als auch in 24 Stunden vorliegen. z. Von 23.55 bis 00.10 Uhr, 12.10 Uhr bis 01.02 Uhr, 10.50 bis 11.10 etc ..Berechnung Zeitunterschied zwischen zwei mal im Format hh: mm - PHP

habe ich versucht, die angegebene Methode hier PHP - hours difference (HH:MM format)

Ich brauche eine Funktion mit allen Bedingungen zu handhaben die 24h, 12h um den Zeitunterschied in Stunden zu berechnen.

Vielen Dank.

+0

Wenn es 12 Stunden ist, sollten Sie einen AM/PM-Parameter richtig haben? –

+0

Sie haben keine Daten? – Andreas

+1

Erstellen Sie \ DateTime-Objekte für die Zeiten, die Sie vergleichen möchten, und verwenden Sie http://php.net/manual/en/datetime.diff.php, um sie zu vergleichen – GordonM

Antwort

0

Der Code in linked solution ist gut, außer über Mitternacht. Wenn Sie eine positive Differenz annehmen (Beginn vor Ende), können Sie einen Tag (in Sekunden) hinzufügen, wenn dieser negativ erscheint. Ändern Sie einfach Return-Anweisung zu:

return ($timeDiff > 0) ? $timeDiff : $timeDiff + 24*60*60; 
Verwandte Themen