Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Sekunden in Tage, Stunden, Minuten und Sekunden umrechnen

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

  • [Erledigt] Sekunden in Tage, Stunden, Minuten und Sekunden umrechnen

    HI Letz. Ich würde gerne eine Angabe von Sekunden, wie man es per #
    time() bekommt umrechen, sodass Tage Stunden Minuten und Sekunden angegeben werden. Ich hab bereits dieses Script:

    Code:
    for($i=0; $i<46; $i++) {
    
        
    	$tage = $f[$i] / 86400;  
    	$tage = settype($tage,"integer");
    
    	$stunden = $f[$i] - ($tage * 86400);
    	$stunden = $stunden / 3600; 
    	$stunden = settype($stunden,"integer");
    
    	$minuten = $f[$i] - ( ($tage * 86400) + ($stunden * 3600) );
    	$minuten = $minuten / 60; 
    	$minuten = settype($minuten,"integer");
    
    	$sekunden = $f[$i] - ( ($tage * 86400) + ($stunden * 3600) + ($minuten * 3600) ); 
    
        if($tage > 1)  $tage = $tage . " Tage ";
        if($tage == 1) $tage = $tage . " Tag ";
        if($tage == 0) $tage = "";
    
    	if($stunden > 1)  $stunden = $stunden . " Stunden ";
    	if($stunden == 1) $stunden = $stunden . " Stunde ";
    	if($stunden == 0) $stunden = "";
    
    	if($minuten > 1)  $minuten = $minuten . " Minuten ";
    	if($minuten == 1) $minuten = $minuten . " Minute ";
        if($minuten == 0) $minuten = "";
    
    	if($sekunden > 1)  $sekunden = $sekunden . " Sekunden";
    	if($sekunden == 1) $sekunden = $sekunden . " Sekunde";
    	if($sekunden == 0) $sekunden = "";
      
        $f[$i] = $tage . $stunden . $minuten . $sekunden;
    }
    Das ganze passiert mit 46 verschiedenen Zeiten. Einziges Problem: Er gibt immer irgenteinen Müll aus.

    Hier ein paar Beispiele:

    Aus 5 Sekunden wird: 1 Tag 1 Stunde 1 Minute -93595
    60 Sekunden: 1 Tag 1 Stunde 1 Minute -93540
    3500 Sekunden: 1 Tag 1 Stunde 1 Minute -90100
    9999999999999 Sekunden: 1 Tag 1 Stunde 1 Minute 9.9999999064E+12 Sekunden
    50000 Sekunden: 1 Tag 1 Stunde 1 Minute -43600

    Auf jedenfall nicht das gewünschte Ergebnis...

    Ein paar Rollen jetzt vileicht mit den Augen, und sagen mir irgenteine Funktion, mit der das zu berechnen ist, ich hab keine gefunden. Sollte es aber wirklich keine geben, würde ich euch bitten, mir zu sagen, welche Fehler ich gemacht habe.


  • #2
    Erstmal solltest Du Dir ansehen, wie settype() funktioniert (oder besser einfach floor() verwenden).
    http://de.php.net/settype
    http://de.php.net/floor

    Mit
    $stunden = settype($stunden,"integer");
    schreibst Du nämlich eine 1 in $stunden rein.

    Und eine Minute hat 60 sekunden, nicht 3600.

    So geht es bei mir:

    PHP-Code:
        $tage $f[$i] / 86400;  
        
    settype($tage,"integer"); 
     
        
    $stunden $f[$i] - ($tage 86400); 
        
    $stunden $stunden 3600
        
    settype($stunden,"integer"); 
     
        
    $minuten $f[$i] - ( ($tage 86400) + ($stunden 3600) ); 
        
    $minuten $minuten 60
        
    settype($minuten,"integer"); 
     
        
    $sekunden $f[$i] - ( ($tage 86400) + ($stunden 3600) + ($minuten 60) ); 
     
         if(
    $tage 1)  $tage $tage " Tage "
         if(
    $tage == 1$tage $tage " Tag "
         if(
    $tage == 0$tage ""
     
        if(
    $stunden 1)  $stunden $stunden " Stunden "
        if(
    $stunden == 1$stunden $stunden " Stunde "
        if(
    $stunden == 0$stunden ""
     
        if(
    $minuten 1)  $minuten $minuten " Minuten "
        if(
    $minuten == 1$minuten $minuten " Minute "
         if(
    $minuten == 0$minuten ""
     
        if(
    $sekunden 1)  $sekunden $sekunden " Sekunden"
        if(
    $sekunden == 1$sekunden $sekunden " Sekunde"
        if(
    $sekunden == 0$sekunden ""
    mod = master of disaster

    Kommentar


    • #3
      ich bin neu hier und habe ein prob

      hi ich wollte ein script machehn wo man zb ein timestamp setzt also eine time auf der datenbank und will sie auslesen in minuten . zb $member[lostime]; und dann die zeit so berechnen das da stehen würde bist in 30 minuten zurück. kann mir da einer helfen. habe viele scripte ausdprobiert aber das funzt net.

      Kommentar


      • #4
        Willkommen.

        Jetzt nochmal von Anfang an. Und genau beschreiben, was Du möchtest!
        --

        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


        --

        Kommentar


        • #5
          PHP Script für zeit in minuten

          Also ich habe ein Script wo einer wenn er auf los klickt eine zeit setzt in der datenbank.

          auf der Datenbank heißt das Feld Starttime.

          Jetzt Will ich per PHP es so auslesen das man sieht wieviel Minuten es noch dauert bis man Fertig ist.

          Zum Beispiel du bist noch 30 Minuten unterwegs.

          Habe sowas noch nicht gemacht Sorry.

          Kommentar


          • #6
            Wann istman denn fertig? Meinst Du eher sowas wie einen Countdown (warum heißt dann aber das Feld Starttime)?
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              PHP Script für zeit in minuten

              Das war nur ein Beispiel. Auf der Datenbank heißt es jtime .

              Ich weiß auch den Anfang wie ich das Berechnen kann .

              time() - $member[jtime]; aber dann weiß ich nicht wie ich das umrechnen soll in minuten .

              ist neuland für mich.

              Kommentar


              • #8
                Nunja, Du bekommst dann doch eine Sekundenzahl. Und die in Minuten bekommst Du doch hin
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar


                • #9
                  wenn das so wäre würde ich ja nicht fragen oder ^^

                  so würde das script zb aussehen.

                  <?
                  session_start();

                  include 'db.inc.php';


                  $member2 = mysql_query("SELECT * FROM login WHERE user = '$_SESSION[user]');
                  dann würde ich noch die variable der zeit benennen.

                  also $zeit = time() - $member[jtime];

                  und dann komm ich ins stottern

                  Kommentar


                  • #10
                    Tipp: Minuten = Sekunden : 60
                    --

                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                    --

                    Kommentar


                    • #11
                      kannst du mir dabei ein bissel behilflich sein ?

                      Kommentar


                      • #12
                        $zeit = (time() - $member['jtime'])/60;
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar


                        • #13
                          das gibt dann 30 Minuten aus ?

                          Kommentar


                          • #14
                            da habe ich aber viele mächtge zahlen noch ^^. und es zählt alles vorwärts statt rückwerts ^^

                            Kommentar


                            • #15
                              Sorry

                              $zeit = ($member['jtime'] - time())/60;
                              --

                              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                              --

                              Kommentar

                              Lädt...
                              X