JavaScript Falsche Zeit bei anderer zeitzone

Schumiel

Lieutenant
Registriert
Jan. 2010
Beiträge
840
Hallo,

und zwar nutze ich schon seit längeren ein Script, dass mir eine Zeit runterrechnen lässt. Kürzlich musste ich aber nun feststellen, wenn ich eine Zeitzone, z.B. Nairobi (+3 Stunden) an meinem PC einstelle, das die Zeit sich dadurch erhöht, was aber eigentlich nicht sein darf.

Hier mein Code:

PHP:
<script type="text/javascript">
function countdown_<?php echo $vspiel; ?>(zeit){
    var now = new Date(zeit);
    var day=now.getDate();
    var month=now.getMonth()+1;
    var year=now.getFullYear();
    if(year<999) year+=1900;
    var h=now.getHours();
    var m=now.getMinutes();
    var s=now.getSeconds();
	
    if(h == 0 && m == 0 && s == 0) {
		document.getElementById('countdown_<?php echo $vspiel; ?>').innerHTML="&raquo; Test123!";
		}
		else {
		var vvv = "<?php echo $vspieltest; ?>!";
		var text = " ";
		var Gesamt= "&raquo; "+((h<10)?"0":"")+h+((m<10)?":0":":")+m+((s<10)?":0":":")+s+text+vvv;
		window.setTimeout("countdown_<?php echo $vspiel; ?>("+(zeit-1000)+")",1000);
		document.getElementById('countdown_<?php echo $vspiel; ?>').innerHTML=Gesamt;		
		}
    }
    window.setTimeout('countdown_<?php echo $vspiel; ?>(<? echo $timestamp_test * 1000; ?>)',1000);
</script>

Hat jemand eine Lösung parat, wie man die Zeitzonenberechnung verhindern kann?
 
naja Javascript ist clientseitig, das nimmt die Uhrzeit vom jeweiligen Besucher.

Wenn müsstest Du die Uhrzeit serverseitig übergeben und dann mit diesem Wert arbeiten - dann ist es bei allen gleich.
Scheinst ja schon ein wenig PHP da drin zu haben, sollte also kein riesiger Umbau für Dich sein...
 
Zuletzt bearbeitet:
PHP:
 var now = new Date(zeit);
var day=now.getDate();
... gibt mir doch die Zeit des Servers aus, die mit Werte aus der Datenbank entsprechend für einen Countdown verglichen werden!?

Wenn ich meine Uhrzeit ändere, bleibt der Countdown auch gleich. Dies ist nur bei Zeitzonenänderung der Fall.

Edit: Selbst meine Serverzeit ändert sich nicht, wenn ich Datum oder Uhrzeit umstelle. Bei der Zeitzonenänderung aber schon.
Ergänzung ()

Yuuri: Mein Beitrag hat sich mit deinem überschnitten. Ich teste das gleich mal aus ...
Ergänzung ()

Fettmarkiertes habe ich geändert.
Warum klappt das nicht?

Mir wird nichts mehr angezeigt.

PHP:
<script type="text/javascript">
function countdown_<?php echo $vspiel; ?>(zeit){
[B]    var now2 = new Date(zeit);
    var now = now2.getTimezoneOffset();[/B]
    var day=now.getDate();
    var month=now.getMonth()+1;
    var year=now.getFullYear();
    if(year<999) year+=1900;
    var h=now.getHours();
    var m=now.getMinutes();
    var s=now.getSeconds();
	
    if(h == 0 && m == 0 && s == 0) {
		document.getElementById('countdown_<?php echo $vspiel; ?>').innerHTML="&raquo; Test123!";
		}
		else {
		var vvv = "<?php echo $vspieltest; ?>!";
		var text = " ";
		var Gesamt= "&raquo; "+((h<10)?"0":"")+h+((m<10)?":0":":")+m+((s<10)?":0":":")+s+text+vvv;
		window.setTimeout("countdown_<?php echo $vspiel; ?>("+(zeit-1000)+")",1000);
		document.getElementById('countdown_<?php echo $vspiel; ?>').innerHTML=Gesamt;		
		}
    }
    window.setTimeout('countdown_<?php echo $vspiel; ?>(<? echo $timestamp_test * 1000; ?>)',1000);
</script>
 
Zurück
Oben