2:30 + 5:30 = 8:00

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

  • 2:30 + 5:30 = 8:00

    also folgendes problem ich speicher zeitdauern als hh:mm als string in eine db


    wie kann ich nun ab geschicktesten alles zusammenzählen ?

    problem ist ja wenn ich 2 mal 30 habe ist es nicht 60 sonder std+1
    Zuletzt geändert von mukraker; 17.09.2003, 15:41.
    thx Mukraker

  • #2
    Re: 2:30 + 5:30 = 8:00

    entweder speicherst du sie gleich in minuten, oder du rechnest dynamisch zuerst hh:mm in minuten um, addierst, und wandelst dann das ergebnis wieder in hh:mm um.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      wie soll man das den in minuten und wieder zurück umrechnen ?
      thx Mukraker

      Kommentar


      • #4
        Original geschrieben von mukraker
        wie soll man das den in minuten und wieder zurück umrechnen ?
        am besten mit den altbekannten rechenoperationen. als da wären * und /

        Kommentar


        • #5
          du rechnest jeden wert aus der db um beim auslesen:

          2:45 = 165min
          1:00 = 60 min

          und zwar so:
          explode anhand ":"
          key0 = zahl * 60
          +
          key1

          und so weiter!

          danach einfach addieren und durch 60 teilen => stunden
          rest: minuten

          gruss

          Kommentar


          • #6
            Original geschrieben von mukraker
            wie soll man das den in minuten und wieder zurück umrechnen ?
            in dem man sich an ein paar elementare grundrechenarten erinnert ...?


            OffTopic:
            kommt mir das nur so vor, oder nimmt die denkfaulheit bei einigen leuten hier im forum langsam wieder überhand?
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              lösung

              PHP-Code:
              <?php
              //duration zusammenzählen auseinander bauen und neu zählen
                          
              $h substr($row->duration,0,2);  //std
                          
              $s substr($row->duration,3,4);
                          
              $hvgesamt +=$h;
                          
              $svgesamt +=$s;
                          
              $sstd floor($svgesamt 60);    
                          
              $hgesamt $hvgesamt $sstd ;
                          
              $sgesamt $svgesamt - (60*$sstd);
                          
              $gduration += $row->duration;
                                                              
              $komplett $hgesamt.":".$sgesamt
              ?>

              das ist dann meine methode *g* nicht die beste, aber naja
              thx Mukraker

              Kommentar


              • #8
                wennes so gemacht hättest, wie morti gesagt, wärs kein problem gewesen.

                Kommentar

                Lädt...
                X