[Funktion] Dezimalzeit in "Normale Zeit" konvertieren

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

  • [Funktion] Dezimalzeit in "Normale Zeit" konvertieren

    Benötige eine Funktion um Daten aus einer SQL-Abfrage zu Formatieren.

    Die Uhrzeit wird in der DB als Dezimale Zeit alá Excel und Acces gespeichert!

    Bsp.:
    0,656759259261889 --> 15:45:44
    0,25 --> (06:00:00)
    0,5 --> (12:00:00)

    Hat jemand eine Idee wie ich diese per PHP fomatieren kann. Ziel sollte dieses 06:00:00 Zeitformat sein.

    mfg

    knoeb0,656759259261889i
    Zuletzt geändert von knoebi; 07.05.2007, 13:16.

  • #2
    Re: [Funktion] Dezimalzeit in "Normale Zeit" konvertieren

    Original geschrieben von knoebi
    BDie Uhrzeit wird in der DB als Dezimale Zeit alá Excel und Acces gespeichert!
    könntest du uns bitte aufklären, indem du mal einen link zu einer dokumentation zeigst, in der dieses format erklärt wird?

    Kommentar


    • #3
      Warum nimmst du nicht die date() funktion von php?
      PHP-Code:
      $timestamp time();
      $datum date("H:i:s",$timestamp);

      echo 
      $datum

      Kommentar


      • #4
        also ganz so einfach ist das nicht.

        mir selber währe jetzt auch kein befehl bekannt der das für dich macht.

        aber vieleicht hilft dir der tip hier ja weiter.

        da du ja nur 24h raus haben willst. interger wert eines tages ermitteln.

        heist z.b. timestamp vom 1.1.1970 00:00:01 bis 2.1.1970 00:00:01

        dürfte wohl ein tag bei raus kommen ...

        der rest ist mathe ... tag durch 0,5 halber tag usw. und dann einfach die date functionen von PHP nutzen
        Bitte Beachten.
        Foren-Regeln
        Danke

        Kommentar


        • #5
          Kommt gleich!

          Kommentar


          • #6
            PHP-Code:
            $h 24 $datum//$datum ist der Wert aus der DB
            $hh intval($h);
            $m $h $hh;
            $mm $m 60;
            $mm intval($mm);
            $s $m $mm;
            $ss intval(60*$s);
            echo 
            date('H:m:s',mktime($hh,$mm,$ss)); 
            Keine Ahnung ob dat funzt. Kann es bei der Arbeit ned testen. Aber probiers mal

            Gruss

            tobi
            EDIT:

            kleine Korrektur für die Sekunden

            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
              Finde gerade nicht die richtige Seite. Es gab auch auf der MS-Seite einen Eintrag dazu (Excel)

              Meist wurden diese Formatierung in Bezug mit Excel oder Access gepostet auf diversen Seiten.

              Kann eventuell schon während der SQL-Abfrage die Datenbank so eine Funktion übernehmen. Es handelt sich um eine Gupta-DB. Befehle sind meist ähnlich einer MS-SQL-DB.

              mfg

              knoebi

              Kommentar


              • #8
                nicht vergessen vorher das komma in punkt ändern ^^ sonst macht er grütze ^^
                Bitte Beachten.
                Foren-Regeln
                Danke

                Kommentar


                • #9
                  nicht vergessen vorher das komma in punkt ändern ^^ sonst macht er grütze ^^
                  Absolutamente Correcto. Habe ich vergessen...

                  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


                  • #10
                    OffTopic:
                    Schade, dass die Kinder heute in der Schule kein Rechnen mehr lernen.


                    PHP-Code:
                    $t 24 0.656759259261889;
                    $h floor($t);
                    $t = ($t $h) * 60;
                    $m floor($t);
                    $t = ($t $m) * 60;
                    $s floor($t);
                    echo 
                    sprintf('%02d:%02d:%02d'$h$m$s); 
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Original geschrieben von wahsaga
                      OffTopic:
                      Schade, dass die Kinder heute in der Schule kein Rechnen mehr lernen.
                      OffTopic:

                      was ein glück das ich seit 7 jahren keine Schule mehr von innen gesehen habe
                      Bitte Beachten.
                      Foren-Regeln
                      Danke

                      Kommentar


                      • #12
                        Vielen Dank!

                        Das hat mir schon geholfen!

                        Schöne Woche noch!

                        Kommentar

                        Lädt...
                        X