Zeitformatierung von Sekunden in 00:00:00

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

  • Zeitformatierung von Sekunden in 00:00:00

    Hallo zusammen,

    Ich bin neu in diesem Forum und absoluter PHP Anfänger. Ich hoffe ihr vierteilt mich wegen folgendert Frage nicht:

    In einer MySQL Datenbank habe ich ein Werte die in Sekunden angeben sind. Diese werde im Moment wiefolgt per HTML ausgegeben bzw. abgerufen:

    <?php echo number_format($data->usedpl/60/60,2,":","");?>

    Da die Ausgabe so aussieht "171:77" gefällt mir das nicht ganz.

    Ich hätte Sie gern so: zb.: 10h:12m:13s

    Ich hoffe ihr könnt mir hier helfen.

    Vielen Dank und Gruß
    Thomas

  • #2
    PHP-Code:
    $temp date('h:i:s',$data->usedpl);
    echo 
    $temp
    Hilft das vllt ?

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Hallo die Formatierung schaut gut aus. Allerdings ist der Wert falsch:

      Alte Ausgabe: 171:77 (Von den Stunden her ist die Angabe korrekt)

      mit der neuen Formatierung:

      <?php $timetemp = date('h:i:s',$data->usedpl); echo $timetemp;?>

      kommt folgendes heraus: 04:46:07

      Gruß Thomas

      Kommentar


      • #4
        Bitte gibt mal den Zeitstempel in sek an wie er in der DB steht.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          In der Datenbank steht folgende Zahl:

          618367

          Danke für die Hilfe

          Gruß Thomas

          Kommentar


          • #6
            Ich glaube ich jetzt habe ich es. Das sind nur die Stunden, aber es sollten natürlich auch Tage sein (Stunden gehen nur bis 24)
            PHP-Code:
            $temp date('j:h:i:s',$data->usedpl);
            echo 
            $temp
            Stimmt's jetzt ?

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Hi Tobi

              Leider nicht:

              Da kommt folgendes raus: 8:04:46:07

              Die 8 soll die Tage darstellen oder?

              171 / 24 = 7,125 (da wäre das auch net richtig)

              diese Ausgabe wäre super: 171:46:07

              Gruß Thomas

              Kommentar


              • #8
                PHP-Code:
                $stunden = (int)($sekunden 3600);
                $sekunden -= $stunden 3600;
                $minuten = (int)($sekunden 60);
                $sekunden -= $minuten 60
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Original geschrieben von mrhappiness
                  PHP-Code:
                  $stunden = (int)($sekunden 3600);
                  $sekunden -= $stunden 3600;
                  $minuten = (int)($sekunden 60);
                  $sekunden -= $minuten 60
                  Wie kann ich das ins HTML einbauen? Klingt sehr gut, kann damit aber leider nicht viel anfangen.

                  Kommentar


                  • #10
                    Das Problem ist, dass date('j') ein Datum sprich Monatstag zurückgibt. Es gibt aber keinen 0.1.2006. Daher hat der 7. Tag des Monats das Datum 8

                    Einfach -1 rechnen bei Tagen und die Berechnung sollte korrekt sein.
                    Gruss

                    tobi

                    p.s. happies Version ist eh was du brauchst, bei meiner Version müsstest du die Tage noch zu Stunden hinzuaddieren
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar


                    • #11
                      Original geschrieben von tomie
                      Wie kann ich das ins HTML einbauen? Klingt sehr gut, kann damit aber leider nicht viel anfangen.
                      PHP-Code:
                      echo $stunden
                      Machst du obendochauch schon mit number_format. ::
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Original geschrieben von mrhappiness
                        PHP-Code:
                        echo $stunden
                        Machst du obendochauch schon mit number_format. ::
                        irgendwie komm ich damit nicht klar. ich danke euch aber für die hilfe. aber als php newbie komme ich damit nicht klar.

                        Kommentar


                        • #13
                          Wie wäre es so
                          PHP-Code:
                          echo $stunden.':'.$minuten.':'.$sekunden
                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            Das ist klar. Mein Problem:

                            Wie bekomme ich diese Zeile:

                            <?php echo number_format($data->usedpl/60/60,2,":","");?>

                            mit diesem Ansatz:

                            $stunden = (int)($sekunden / 3600);
                            $sekunden -= $stunden * 3600;
                            $minuten = (int)($sekunden / 60);
                            $sekunden -= $minuten * 60;

                            in Einklang.

                            Wieso eigentlich zweimal $sekunden? Läuft das Script hier nicht auf Fehler?

                            Bis auf das:

                            echo $stunden.':'.$minuten.':'.$sekunden;

                            ist mir im Moment irgendwie nichts klar. Stehe voll auf dem Schlauch.

                            Danke und Gruß Thomas

                            Kommentar


                            • #15
                              $sekunden könnte ja z.B. das Ergebnis aus der DB sein
                              Wieso eigentlich zweimal $sekunden? Läuft das Script hier nicht auf Fehler?
                              Du solltest du mal noch über die Operatoren in PHP schlau machen -= heisst einfach zieh von $sekunden den folgenden Wert ab und speichere den neuen Wert wieder auf Sekunden.
                              Auch wenn 2 mal der = Operator verwendet würde, führt dass nicht zu einem Fehler (zumindest nicht aus Sicht von php), sondern nur zu einem falschen Ergebnis deiner Berechnung.

                              Gruss

                              tobi
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X