mktime -- date

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

  • mktime -- date

    Hy

    Ich vergleiche 2 Timestamps und zeige dann den Unterschied in Std:Min an.
    Hier im Forum habe ich so einiges zu dieser Thematik gefunden.

    Also wendete ich dies an.

    $time=$diff /60 / 60;

    Leider kommen bei diesem Recheneexempel Krumme Stundenzahlen wie 9:76 raus. Also machte ich etwas anders.

    PHP-Code:
    $nettotime=$nettotime-3600;  // - 1 Std.
    $nettomin=date("H:i",$nettotime); 
    Dies oben funktioniert, aber auch nur weil ich eine Std. abziehe. Nun habe ich die Vermutung das es sich bei dieser Stunde um die Sommerzeit / Winterzeit Umstellung handelt.
    Liege ich da falsch, wenn ja wie kann ich die Timestampwerte richtig ausgeben ?

    Danke Mickl
    Du weißt und wußtest nichts, Du dachtest zu wissen, doch du wußtest nicht
    das Du es nicht weißt was Du vielleicht wissen hättest können.

  • #2
    PHP-Code:
    $date1 strtotime"now" );
    $date2 strtotime"yesterday" );

    $diff $date1-$date2;

    // nach tagen
    echo ($diff 86400) . "<br />\n";

    // nach stunden
    echo ($diff 3600) . "<br />\n";

    // nach minuten
    echo ($diff 60) . "<br />\n";

    // wobei du dann nen round($diff,2) drumrum machen solltest, 
    // wegen den nachkommastellen 

    Kommentar


    • #3
      autsch, jetzt hab ichs erst gerafft.
      na, dann kannste mit modulo arbeiten.

      Kommentar


      • #4
        take that:

        PHP-Code:
        function calcDateDiff$date1$date2 )
        {
            if( 
        $date2 $date1 )
            {
                die( 
        "datum 1 muss >= datum 2 sein!" );
            }
            
            
        $diff $date1-$date2;

            
        $seconds 0;
            
        $hours   0;
            
        $minutes 0;

            if(
        $diff 86400 0)
            {
                
        $rest = ($diff 86400);
                
        $days = ($diff $rest) / 86400;
                
                if( 
        $rest 3600 )
                {
                    
        $rest1 = ($rest 3600);
                    
        $hours = ($rest $rest1) / 3600;
                
                    if( 
        $rest1 60 )
                    {
                        
        $rest2 = ($rest1 60);
                        
        $minutes = ($rest1 $rest2) / 60;
                        
        $seconds $rest2;
                    }else
                        
        $minutes $rest1 60;
                
                }else
                    
        $hours $rest 3600;
            }else
                
        $days $diff 86400;
                
            return array( 
        "days" => $days"hours" => $hours"minutes" => $minutes"seconds" => $seconds);
        }


        print_rcalcDateDiffstrtotime"now" ), strtotime"2004-01-7 22:00:00" ) ) ); 

        Kommentar


        • #5
          Danke BeeBob, das funzt wunderbar...
          Du weißt und wußtest nichts, Du dachtest zu wissen, doch du wußtest nicht
          das Du es nicht weißt was Du vielleicht wissen hättest können.

          Kommentar


          • #6
            [klugscheiß]
            differenzen sind meist positiv

            PHP-Code:
            function calcDateDiff$date1$date2 )
            {
                
            $diff abs($date1-$date2);
                
            //der rest

            [/klugscheiß]
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              @mrhappiness:
              alles eine frage des designs.

              bei mir steigt der ja aus wenn's negativ werden würde. hab mich lediglich in der pfeilrichtung bei der die-meldung vertan, weil ich's vorher anders hatte:

              PHP-Code:
              if( $date2 $date1 )
              {
                  die( 
              "datum 1 muss <= datum 2 sein!" );

              Kommentar


              • #8
                @beebob:

                Wie kann es sein, das der Unterschied zw. 08:01 Uhr und 17:02 Uhr = 8:03 Stunden: Minuten ist.... ;-)

                Habe mehrere solcher Unterschiede. der schlimmste:

                23:45 Uhr auf 23:55 Uhr = 8 Minuten....

                :-(

                Habe das Cript nicht großartig abgeändert. Lediglich die Ausgabe unten.

                PHP-Code:
                $times=$hours.":".$minutes;    
                return 
                $times
                ----------------------------------
                [COLOR=crimson]Edit: Es funzt doch alles richtig.... Mickl[/COLOR]
                Zuletzt geändert von Mickl; 15.01.2004, 01:19.
                Du weißt und wußtest nichts, Du dachtest zu wissen, doch du wußtest nicht
                das Du es nicht weißt was Du vielleicht wissen hättest können.

                Kommentar

                Lädt...
                X