Problem mit Subtrahtion

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

  • Problem mit Subtrahtion

    Hallo, vielleicht ist die Frage so richtig banal, aber ich finde keine antwort und habe schon alles versucht selbst das Problem zu lösen.

    Ich habe nur diesen kleinen Quelltext

    PHP-Code:
    $online date("YmdHis");
    $grenze $online 500
    Bei $online kommt natürlich eine Zahl wie diese heraus
    20040121151818

    wenn ich dieser aber 500 abziehe, wie bei $grenze kommt diese Zahl heraus

    2.00401211513E+13

    und nicht die gewünschte 20040121151318

    Dieses Problem besteht auch nur bei einem meiner Provider. Hat jemand eine Lösung, woran es liegen könnte und wie ich zu meinen Ergebnis komme ?

    Ich bedanke mich schon jetzt für schnelle Hilfe

  • #2
    in nen Timstamp umwandeln 500 abziehen und zurückwandeln.

    müsste mit mktime gehen
    Für Rechtschreibfehler übernehme ich keine Haftung!

    Kommentar


    • #3
      moin,

      du hast da nen integer overflow. php macht dann automatisch nen float draus...

      gruss,
      beebob

      Kommentar


      • #4
        number_format() hilft.
        www.php.net
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Vielen Dank für eure Anregungen,

          sicherlich habe ich es etwas amateurhaft kompliziert gelöst, aber jetzt funktioniert es...

          PHP-Code:
          $online date("YmdHis");

          $eins substr($online ,0,10);
          $zwei substr ($online ,10,4);

          $grenze $zwei 500;
          $grenze $eins.$grenze

          Kommentar


          • #6
            öhm ...

            my 2 cents:

            was du mit date() bekommst issn string .. willste davon was abziehen wird der typ umgewandelt, sprich fließkomma bzw float .. wie beebob schon bemerkte

            so gehts nicht

            verwende lieber time() .. damit bekommste sekunden seit irgendwas 1970 .. is auch egal (sofern du kein datum von früher brauchst) .. von den sekunden kannste ganz leicht sekunden abziehen (logisch oder?)

            btw: is dir klar dass dein skript nen hacken hat ? du ziehst mit deiner methode nämlich nicht richtig sekunden, minuten und stunden ab ..
            wie wir wissen gehen die von 00 - 59, bzw 00 - 12/24
            mfg,
            [color=#0080c0]Coragon[/color]

            Kommentar

            Lädt...
            X