[Funktion] Dezimalzeit in "Normale Zeit" konvertieren

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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
    Last edited by knoebi; 07-05-2007, 12: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?

    Comment


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

      echo 
      $datum

      Comment


      • #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

        Comment


        • #5
          Kommt gleich!

          Comment


          • #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)

            Comment


            • #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

              Comment


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

                Comment


                • #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)

                  Comment


                  • #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.

                    Comment


                    • #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

                      Comment


                      • #12
                        Vielen Dank!

                        Das hat mir schon geholfen!

                        Schöne Woche noch!

                        Comment

                        Working...
                        X