zeitberechnung klappt nicht

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • zeitberechnung klappt nicht

    hi leuts,

    im folgenden code will ich die zeit berechnen. statt der differenz bekomme ich allerdings immer "-1" als wert zurück. wo hinkt's da??

    Code:
    $cur_time = time();
    $sql_lasttime = mysql_query("SELECT LASTTIME FROM tab WHERE CURRENT = 'yes'");
    $fetch_lasttime = mysql_fetch_array($sql_lasttime);
    $check_time = strtotime($fetch_lasttime[0]);
    $zeit_diff = ($cur_time) - ($check_time); //Berechnung ob mehr als 24 Std. vergangen sind

    If ($zeit_diff > 0) { //mehr als 24 Std. sind vergangen
    ... ...

    $PHP resource 4ever$

  • #2
    sieht so aus, als läge da ein problem mit dem datum aus der sql-db vor. lass dir mal $fetch_lasttime[0] und $check_time per echo ausgeben.
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      $checktime = -1
      $fetch_lasttime=1060180559
      $zeit_diff=1060245183

      ich trage immer mit time() in die DB-Tab. ein weil strtotime sich ja genau dieses format erwartet. in der ref. steht, dass es bei einem falschen wert (vom format her) immer -1 zurück gibt.

      $PHP resource 4ever$

      Kommentar


      • #4
        sicher?

        strtotime -- Wandelt ein beliebiges Datum (englisches Format) in einen UNIX-Zeitstempel (Timestamp) um.

        Diese Funktion erwartet einen String mit einem Datum im englischen Format und versucht, diesen in einen UNIX-Timestamp umzusetzen. Versucht wird dies relativ zu dem Timestamp, den Sie mit now angeben. Fehlt diese Angabe, wird die aktuelle Zeit angenommen. Schlägt die Umwandlung fehl, wird -1 zurückgegeben.
        wenn du einen time()-wert einträgst, warumwillst du ihn dann och in was anderes umwandelnum ihnm it nem time()-wert zu vergleichen?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          du hast recht, das frag ich mich auch gerade.

          nachdem ich ja in das tab-feld nur time() eintrage brauche ich eigentlich strtotime nicht.

          trotzdem bleibt die frage offen wie ich das ergebnis interpretieren soll sprich wie ich jetzt wirklich weiß ob 24 std. vergangen sind?

          Code:
          $cur_time = time();
          $sql_lasttime = mysql_query("SELECT LASTTIME FROM tab WHERE CURRENT = 'yes'");
          $fetch_lasttime = mysql_fetch_array($sql_lasttime);
          $lasttime = $fetch_lasttime["LASTTIME"];
          $zeit_diff = ($cur_time) - ($check_time); //Berechnung ob mehr als 24 Std. vergangen sind

          // ???
          If ($zeit_diff > 0) { //mehr als 24 Std. sind vergangen???

          Die Echo-Ausgaben:
          $cur_time=1060245182
          $fetch_lasttime=1060180559
          $zeit_diff=1060245183

          $PHP resource 4ever$

          Kommentar


          • #6
            nun, ein timestamp besteht aus sekunden, somit hat ein tag 60*60*24 sekunden ... klingelts? .D
            h.a.n.d.
            Schmalle

            http://impressed.by
            http://blog.schmalenberger.it



            Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
            ... nur ohne :-)

            Kommentar


            • #7
              $zeit_diff = $cur_time - $check_time = 1060245182 - 1060180559 = 64623 und nicht 1060245183!

              was der unix-timestamp angibt weißt du? (sekunden seit 1.1.1970)

              und wieviel sekunden 24 stunden ergeben kannst du ausrechnen
              EDIT:
              *grml*

              immer kommt einem die chefin dazwischen

              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                ok, wenn ich jetzt 60*60*24 rechne dann bekomme ich als Ergebnis 86400 => das sind also die Sekunden eines ganzen tages (24std.)

                $zeit_diff muss ich also mit 86400 vergleichen. so:
                If ($zeit_diff > 86400) {
                bla bla
                }

                aber das geht ja nicht weil $zeit_diff ja noch aus sekunden besteht. wenn ich also $zeit_diff/60/60/24 dann bekomme ich irgend'nen kryptischen wert.

                jetzt weiß ich nicht mehr weiter, sorry
                $PHP resource 4ever$

                Kommentar


                • #9
                  isses arg heiß bei dir?

                  $zeit_diff enthält die differenz in sekunden und 86400 sekunden ergeben 24 stunden, was willst du da jetzt noch rumrechnen?
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    wie folgt muss es funtzen:

                    $cur_time = time();
                    $sql_lasttime = mysql_query("SELECT LASTTIME FROM tab WHERE CURRENT = 'yes'");
                    $fetch_lasttime = mysql_fetch_array($sql_lasttime);
                    $lasttime = $fetch_lasttime["LASTTIME"];
                    $zeit_diff = ($cur_time) - ($lasttime);

                    If ($zeit_diff > 86400) { //mehr als 24 Std. sind vergangen (60*60*24=86400->1Tag)
                    bla bla...
                    $PHP resource 4ever$

                    Kommentar


                    • #11
                      das is genau das, von dem du vorhin sagtes es ginge nicht, hast du's jetzt probiert oder was?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        klar ging's vorher nicht weil strtotime -1 geliefert hat und die berechnung mit falschen werten durchgeführt wurde.

                        jetzt funkt's.
                        echo:
                        lasttime=1060180559
                        zeit_diff=68259

                        das vergleiche ich mit 86400 und weiß ob ein tag vergangen ist od. nicht.


                        wiedermal danke, Leute!!!!
                        was wärt ihr ohne meine fragerei?
                        $PHP resource 4ever$

                        Kommentar


                        • #13
                          Original geschrieben von Metallica
                          was wärt ihr ohne meine fragerei?
                          arbeitslos, aber glücklich? *fg*
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            $PHP resource 4ever$

                            Kommentar

                            Lädt...
                            X