Zeiten Rechnen

  • HAHA ich habs grade auch gefunden xD und das merk ich mich auchnich, vorallem da ich glaube nichtmehr mit PHP < 5.4 arbeiten werde ^^


    Habe time_diff() mal aktuaklisiert, so das es n E_USER_WARNING schmeißt, wenn die Version kleiner als 4.5.0 ist -> denn ich verwende da mehrfach neue array funktionen..


    Werde im laufe des Abends eine kompatible Version bilden.. ;)

  • Stimmt auf dem Server läuft noch die PHP-Version 5.2


    Bis vor ^kurzem dachte ich Licht am ende des Tunnels zu sehen, aber jetzt versteh ich wieder nichts mehr.


    Gruss
    Phips_CH

  • xD
    okay, pass auf, du erklärst mir haar genau was du nicht verstehst und ich versuche mein bestest zu geben es dir zu erklären, weil alles andere macht nicht so besonders viel Sinn :p schieß los

  • Als erstes hab ich glaub ein Durcheinander was die Code angeht.


    Ich habe glaub den Überblick etwas verloren welche Code-Schnippsel ich zusammen verwenden muss.


    Wie ich das verstanden habe, möchtest du mit:


    ein Format ermitteln, welches geeignet ist für das rechnen.


    time_diff.phpin ein File kopiert und mit diesem Namen auf den Server geladen.


    Und was hier passiert, ist mir auch nicht ganz klar:

  • Also, schnipsel 1 brauchen wir nichtmehr, da ich weis das da irgendein timestamp rauskommt (ein DateTime wäre für deine Zwecke besser geeignet.. aber egal erstmal)


    In Teil 2 wird aus deiner DB immer die start und endzeit ausgelesen.


    ############################################################################################################


    Hier gibts jetzt die PHP > 5.3.0 freundliche Version: https://github.com/wolf-w/past…aster/class.time_diff.php


    Und noch ein Codeschnipsel


    Statt 't' kannst du auch andere Sachen ausgeben .. was genau steht in Zeile 13-24 con class.time_diff.php


    Jetzt musst du nurnoch alle meine Kommentare lesen und solltest verstehen was passiert. Wenn nicht, frag nach :)

  • Ich schaffs glaub nicht.
    Jetzt hab ich den Fehler:
    Fatal error: Call to undefined method DateTime::diff() in /.../.../htdocs/class.time_diff.php on line 86
    Da steht:

    PHP
    $diff = $this->end->diff($this->start);//Differenz zwischen beiden Zeiten ermitteln
  • Das liegt an deinem Sche*s PHP 5.2 -.-v Kannst du nicht die PHP version updaten?! Das wäre sehr hilfreich ;)


    Okay, speichere das mal in ne eigene Datei und include diese


    Dann änderst du Zeile 86 in class.time_diff.php von

    PHP
    $diff = $this->end->diff($this->start);//Differenz zwischen beiden Zeiten ermitteln

    zu

    PHP
    $tmp = ($this->end - $this->start);
            $diff = new DateInterval($tmp);


    Damit sollte es gehen (ungetestet)

  • Ich habe dem Support eine E-Mail geschrieben, mit der Bitte, meine PHP-Version zu updaten.


    Wenn es soweit ist, werde ich es noch einmal versuchen und gegebenenfalls wieder melden.


    Vielen Dank


    Gruss
    Philipp

  • Die PHP-Version ist jetzt auf dem neusten stand. (PHP 5.5)


    Jetzt erhalte ich auch einen Wert ohne Fehlermeldung :)


    Allerdings nicht den richtigen.


    Wenn ich bei "von"-> 10:00:00 habe und bei "bis"-> 16:00:00, ergibt mir die Rechnung ein Resultat von 07:00
    Wenn ich bei "von"-> 15:00:00 habe und bei "bis"-> 16:15:00, ergibt mir die Rechnung ein Resultat von 06:15 was ja stimmen würde.
    Allerdings bei "von"-> 10:00:00 und "bis"-> 16:20:00 erhalte ich ein Resultat von 06:30.


    Woher kommen diese Zahlen?

  • Die zahlen werden auf 15 minuten gerundet..
    Das 1. Ergebniss wundert mich.. aber wenn du dir mal genau anschaust was ich 4 Beiträge vorher geschrieben habe..


    Kannst du dir auch das ungerundete Ergebniss geben lassen (->o_t)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!