Zeitberechnung funktioniert nicht richtig

mastermannrw

Mitglied
Hallo Leute.

Ich habe da ein Problem bezüglich der Zeitberechnung. Als erstes mal den Code:
PHP:
$temp=$start+90-time();  // $temp ist leer, Start ist eine x-beliebige Zeit in der Vergangenheit
            If ($temp>0) {
               $ende="Noch ".date("h:i:s",$temp)." bis zum Ende.";
	    }

Als Ergebnis kommt dann da nicht 90 sekunden raus(00:01:30) sondern 01:01:30. Ich hab so langsam keine Idee mehr. Hoffe mir kann jemand Helfen.
Nachtrag: Die If -Abfrage wird jedoch nach 90 Sekunden beendet, beziehungsweise False.
Gruß
 
Zuletzt bearbeitet:
Oliver Gringel hat gesagt.:
Der UNIX-Timestamp beginnt am 1.1.1970 1:00 nicht um 0:00.

Gut, aber das hat ja nichts damit zu tun, wenn ich von einer bestimmten Zeit eine andere Abziehe. Die Differenz kann ja nicht eine Stunde mehr sein, oder Irre ich da?
Ansonsten bräuchte ich eine andere Möglichkeit, zwei Zeitwerte voneinander abzuziehen.

Gruß
 
Die Unixzeit zählt die vergangenen Sekunden seit dem 1. Januar 1970 00:00 h UTC. In unserer Zeitzone begann die „Unix-Epoche“ jedoch um 1:00 Uhr UTC+1:00, da die deutsche Standardzeit die Mitteleuropäische Zeit (MEZ) ist, welche der UTC plus einer Stunde gleicht.
Somit war es 90 Sekunden nach Beginn der „Unix-Epoche“ nach unserer Zeitrechnung 1:00 Uhr UTC+1:00.
 
Gumbo hat gesagt.:
Die Unixzeit zählt die vergangenen Sekunden seit dem 1. Januar 1970 00:00 h UTC. In unserer Zeitzone begann die „Unix-Epoche“ jedoch um 1:00 Uhr UTC+1:00, da die deutsche Standardzeit die Mitteleuropäische Zeit (MEZ) ist, welche der UTC plus einer Stunde gleicht.
Somit war es 90 Sekunden nach Beginn der „Unix-Epoche“ nach unserer Zeitrechnung 1:00 Uhr UTC+1:00.

Und da gibt es keine Möglichkeit, dieses Problem zu umgehen? So daß ich wirklich nur diese 90 Sekunden als Anzeige habe? Oder bin ich dann gezwungen, mir eine solche Funktion zu bauen?

Gruß
 
Du missbrauchst einfach nicht die Date-Funktion für die Ausgabe einer Zeitspanne, sondern schreibst dir selbst eine Funktion zur Formatierung von Zeitspannen.
 
Danke für Eure hilfe. Das Problem habe ich dann wie folgt gelöst:

PHP:
function get_time_string($parameter){ //$parameter ist die Zeit in sekunden
	$tage=floor($parameter/86400);
	$parameter=$parameter-$tage*86400;
	$stunden=floor($parameter/3600);
	$parameter=$parameter-$stunden*3600;
	$minuten=floor($parameter/60);
	$parameter=floor($parameter-$minuten*60);
	$sekunden=$parameter;

	if ($tage<10) {
    	$tage_out="0".$tage;
	}
	else {
		$tage_out=$tage;
	}	
	if ($stunden_out<10) {
    	$stunden_out="0".$stunden;
	}
	else {
		$stunden_out=$stunden;
	}	
	if ($minuten_out<10) {
    	$minuten_out="0".$minuten;
	}
	else {
		$minuten_out=$minuten;
	}	
	if ($sekunden<10) {
    	$sekunden_out="0".$sekunden;
	}
	else {
		$sekunden_out=$sekunden;
	}	
	$wert=$tage_out.":".$stunden_out.":".$minuten_out.":".$sekunden_out;
	return $wert;
}
 
Zurück