Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Wie kann ich die vergangene Zeit von 2 Timestamps berechnen? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Wie kann ich die vergangene Zeit von 2 Timestamps berechnen?


 
HansDerLange
15-06-2008, 17:18 
 
echo "Hallo";

ich habe ein script, das sich jede sekunde selbst aufruft und beim starten des scriptes lege ich $start und $ende wie folgt fest:



$start = date("H:i",$timestamp);
$ende = date("H:i",$timestamp+60);



und die aktuelle Zeit habe ich auch in $aktuelleZeit, um die mit $ende zu vergleichen.

Nach 10 Aufrufen durch sich selbst springt das script in eine andere Stelle des selben Scriptes und prüft dort ob $ende erreicht wurde und ruft sich wieder jede sekunde selber auf.
Wenn das Script nun 60sec nach dem start gelaufen ist, soll es wieder an die Stelle vom Anfang gelangen.

Was bei mit jetzt nicht wirklich funktioniert, ist die berechnung der vergangenen Zeit seit dem Start.. ich bekomme immer ein minus wert raus.

den vergleich mache ich so



if($aktuelleZeit < $ende)
{
echo "jetzt ist pause";
echo "noch ".$ende - $aktuelleZeit." minuten bis wieder gestartet wird.";

}



Die ganzen werte speichere ich in sessions, da die so durch sen neuaufruf nicht verloren gehen.

danke im voraus!

 
TobiaZ
15-06-2008, 17:36 
 
Nach 10 Aufrufen durch sich selbst springt das script in eine andere Stelle des selben Scriptes und prüft dort ob $ende erreicht wurde und ruft sich wieder jede sekunde selber auf. Du springst und rufst dich selber auf? Programmierst du nicht mit PHP oder sollte das tatsächlich schon was mit OOP zu tun haben? ;)

Was bei mit jetzt nicht wirklich funktioniert, ist die berechnung der vergangenen Zeit seit dem Start.. ich bekomme immer ein minus wert raus.

den vergleich mache ich so

if($aktuelleZeit < $ende)
{
echo "jetzt ist pause";
echo "noch ".$ende - $aktuelleZeit." minuten bis wieder gestartet wird.";

} Ähm, du verwendest nirgends $start. :rolleyes:

Naja, insgesamt viel wirres Geschreibe. das ganze drum herum, was nichts mit dem Problem zu tun hat, könntest du ja mal weg lassen. Statt dessen bitte nochmal das Problem kurz und knapp formulieren.

 
HansDerLange
15-06-2008, 21:05 
 
Hallo..

wie kann cih die aktuelle zeit + 1 stunde ausgeben?

ich versuche es wie folgt, aber es funktioniert nicht

$aktuelleZeit = date("H:i:s");
$zeitNeu = date("H:i:s",$timestamp+3600);


$aktuelleZeit funktioniert... aber bei $zeitNeu bekomme ich immer 18:00 raus... und nicht $aktuelleZeit + 1 Stunde..

was mache ich falsch?

 
rrr
15-06-2008, 21:13 
 
Gucke Dir einmal strtotime (http://de2.php.net/manual/de/function.strtotime.php)
an.

 
TobiaZ
15-06-2008, 21:34 
 
Machst du für jeden Furz nen neuen Thread auf? *zusammenführ*
Können wir nicht erstmal ein Problem klären?

Und wo hast du $timestamp auch irgendwo definiert? Wenn ja, wie?

$zeitNeu = date("H:i:s",time()+3600); Funktioniert problemlos.

 
Charles Monroe
15-06-2008, 21:56 
 
Mit "time()" (liefert Integer-Werte) lässt sich schon mal viel besser rechnen. Zur Ausgabe eignet sich dann "strftime()". Deswegen:

<?php

$start = time();
$end = $start + 3600;

//....

if($end > time()) {
exit("noch ".strftime("%T", $end - time())." Zeit");
} else {
exit("TIMEOUT");
}
?>

OK... "$start" ist auch hier recht überflüssig, aber was soll's.

Natürlich ist der Code so auch völlig nutzlos. Er soll ja auch nur verdeutlichen wie ich das meine.

cu Charles Monroe


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:05 Uhr.