Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeit in Sekunden umrechnen

Einklappen

Neue Werbung 2019

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

  • Zeit in Sekunden umrechnen

    Hallo zusammen
    Ich suche eine Funktion, die mir eine Zeit in Sekunden umwandelt.
    09:23:13 --> in Sekunden
    Ich könnte das natürlich einfach umrechnen, aber es gibt doch sicher eine direkte Funktion dafür?
    Ich finde sie leider nicht. Kennt sie jemand?

    Vielen Dank für eure Hilfe.


  • #2
    Hi,

    http://www.php.de/php-tipps-2009/553...-sekunden.html

    mfg wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Wenn es sich um "echte" Tage handelt und du versuchst z.B. 9h zu addieren, dann solltest du nicht stupide 9 Stunden*60 Minuten*60 Sekunden = 32.400 Sekunden rechnen.
      Denn wenn da z.B. die Sommer/Winterzeit Umstellung zwischen liegt, dann hast du ein falsches Ergebnis. Dazu rechnet man dann besser direkt mit den in PHP integrierten Datums und Uhrzeit Funktionen.

      Kommentar


      • #4
        Danke für eure Hilfe.
        Aber: Ich habe es ja nicht so:
        PHP-Code:
        <?php  
        echo date('H:i:s'$timestamp); 
        ?>
        sondern 09:23:13
        Wie kann ich das umwandeln, dass ich nur schon mal H:i:s habe?

        Kommentar


        • #5
          Ich suche eine Funktion, die mir eine Zeit in Sekunden umwandelt.
          09:23:13 --> in Sekunden
          Was meinst du genau damit?

          1. Diese "Uhrzeit" in Sekunden? Von wann weg? Mitternacht?
          Oder meist du den UNIX-Timestamp, also die vergangenen Sekunden seit dem 01.01.1970 bis heute 09:23:13 Uhr?

          2. Oder 9 Std 23 Min und 13 Sekunden in reine Sekunden?

          LG
          Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
          PHP.de Wissenssammlung | Kein Support per PN

          Kommentar


          • #6
            so?

            PHP-Code:
            function time2Seconds($time) {
                
            $sTime explode(':'$time);
                return 
            $sTime[2] + ($sTime[1] * 60) + ($sTime[0] * 3600);
            }
            echo 
            time2Seconds('09:23:13'); 
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Zitat von TessaKavanagh Beitrag anzeigen
              ... Denn wenn da z.B. die Sommer/Winterzeit Umstellung zwischen liegt, dann hast du ein falsches Ergebnis. Dazu rechnet man dann besser direkt mit den in PHP integrierten Datums und Uhrzeit Funktionen.
              Halb Off-Topic.. Scheinbar hat PHP da noch einen Bug in der Berechnung damit mit DateTime Interval, habe das nach hier verschoben: http://www.php.de/php-fortgeschritte...tml#post831582

              LG
              Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
              PHP.de Wissenssammlung | Kein Support per PN

              Kommentar


              • #8
                ja genau das brauche ich:
                PHP-Code:
                2. Oder 9 Std 23 Min und 13 Sekunden in reine Sekunden
                An sich genau so, wie es wolf29 vorschlägt, aber die Zeit '09:23:13' in einer Variablen stammt, die aus einem array stammt:
                $zeit[3]

                das hier funktioniert aber nicht:
                PHP-Code:
                function time2Seconds($time) {
                    
                $sTime explode(':'$time);
                    return 
                $sTime[2] + ($sTime[1] * 60) + ($sTime[0] * 3600);
                }
                echo 
                time2Seconds('$zeit[3]'); 
                Wie könnte man das machen?

                Kommentar


                • #9
                  aber die Zeit '09:23:13' in einer Variablen stammt, die aus einem array stammt:
                  time[3]
                  Ja und? Du darfst auch deine eigene Var verwenden

                  PHP-Code:
                  echo time2Seconds($time[3]); 
                  Und beachte, bei Tagen mit Zeitumstellung stimmt die Rechnung nicht, falls das relevant sein sollte.
                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar


                  • #10
                    Und beachte, bei Tagen mit Zeitumstellung stimmt die Rechnung nicht, falls das relevant sein sollte.
                    Stimmt. Vergessen anzumerken.
                    while (!asleep()) sheep++;

                    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                    Kommentar


                    • #11
                      ok, funktioniert, vielen Dank für eure rasche Hilfe!

                      Kommentar


                      • #12
                        Zitat von wolf29 Beitrag anzeigen
                        so?

                        PHP-Code:
                        function time2Seconds($time) {
                            
                        $sTime explode(':'$time);
                            return 
                        $sTime[2] + ($sTime[1] * 60) + ($sTime[0] * 3600);
                        }
                        echo 
                        time2Seconds('09:23:13'); 

                        oder so:
                        PHP-Code:
                        echo mktime(92313111970); 
                        http://php.net/manual/de/function.mktime.php
                        .

                        Kommentar


                        • #13
                          @kremser: wobei bei Dir die Aufsplittung der Variableninhalte noch fehlt, aber auch ein Ansatz. Ein weiterer Ansatz (author Asipak):

                          PHP-Code:
                          Time "09:23:13";
                          echo 
                          strftime('%H'strtotime($time)) * 3600 strftime('%M'strtotime($time)) * 60 strftime('%S'strtotime($time)); 
                          while (!asleep()) sheep++;

                          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                          Kommentar


                          • #14
                            Zitat von kremser Beitrag anzeigen
                            oder so:
                            PHP-Code:
                            echo mktime(92313111970); 
                            http://php.net/manual/de/function.mktime.php
                            So gehts auch, scheinar sogar Zeitumstellungssicher

                            PHP-Code:
                            // PHP 5.3.3
                            date_default_timezone_set('Europe/Berlin');

                            $f "00:00:00";
                            $t "09:23:13";
                            echo 
                            strtotime($t) - date(strtotime($f);
                            // 33793


                            $f "2014-10-26 00:00:00"// Tag Umstellung auf Winterzeit
                            $t "2014-10-26 09:23:13";
                            echo 
                            strtotime($t) - date(strtotime($f);
                            // 37393 
                            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                            PHP.de Wissenssammlung | Kein Support per PN

                            Kommentar


                            • #15
                              So geht's auch ganz gut:
                              PHP-Code:
                              <?php
                               $time 
                              '09:23:13';
                               echo 
                              strtotime('1970-01-01 '.$time);
                              ?>
                              Noch dazu muss man hier nix splitten
                              .

                              Kommentar

                              Lädt...
                              X