Hallo,
ich habe jetzt mein Script fertiggestellt. Die Zeiten ergänzen sich mit der Atomzeit. Nur der Countdown zählt nicht mehr runter, sondern läßt sich wie bei PHP lediglich mit F5-Taste aktualisieren. Meine Ausgangsüberlegung war, dass das Javascript unter Berücksichtigung der Zeitkorrektur weiterzählt.
Das Countdownscript habe ich von webmaster-resource.
Danke und Gruß,
Dietmar
ich habe jetzt mein Script fertiggestellt. Die Zeiten ergänzen sich mit der Atomzeit. Nur der Countdown zählt nicht mehr runter, sondern läßt sich wie bei PHP lediglich mit F5-Taste aktualisieren. Meine Ausgangsüberlegung war, dass das Javascript unter Berücksichtigung der Zeitkorrektur weiterzählt.
PHP:
<?php
//Atomzeit abrufen
function query_time_server ($timeserver, $socket) {
$fp = fsockopen($timeserver,$socket,$err,$errstr,5);
if ($fp) {
fputs($fp,"\n");
$timevalue = fread($fp,49);
fclose($fp);
} else {
$timevalue = " ";
}
$ret = array();
$ret[] = $timevalue;
$ret[] = $err;
$ret[] = $errstr;
return($ret);
}
$array = query_time_server('ts2.univie.ac.at', 13); // Uni Wien
sscanf($array[0], "%s %s %d %d:%d:%d %d", $t_tag, $t_monat, $tag, $stunde, $minute, $sekunde, $jahr);
$timeservertime = strtotime($array[0]);
echo "<br><br>";
//Atomzeit aktuell
echo "Tag: " .$tag. "<br>";
echo "Stunde: ".$stunde."<br>";
echo "Minute: " .$minute. "<br>";
echo "Sekunde: " .$sekunde. "<br>";
echo "Jahr: " .$jahr. "<br>";
echo "<br><br>";
//Differenzzeit
echo "Zeitdifferenz in Sekunden: ".(time() - $timeservertime);
$differenz = time() - $timeservertime;
?>
<script language="Javascript">
<!--
//Countdown-Script
var CountdownJahr = 2007;
var CountdownMonat = 12;
var CountdownTag = 31;
var CountdownStunde = 24;
var CountdownMinute = 0;
var CountdownSekunde = 0;
function CountdownAnzeigen()
{
// var Jetzt = new Date();
//Zeit nach Atomzeit einstellen
<?
echo("var Jetzt=new Date(".date("Y,m,d,H,i,s",(time()-$differenz)).");");
?>
var Countdown = new Date(CountdownJahr, CountdownMonat-1, CountdownTag, CountdownStunde, CountdownMinute, CountdownSekunde);
var MillisekundenBisCountdown = Countdown.getTime()-Jetzt.getTime();
var Rest = Math.floor(MillisekundenBisCountdown/1000);
var CountdownText = "";
if(Rest >= 31536000)
{
var Jahre = Math.floor(Rest/31536000);
Rest = Rest-Jahre*31536000;
if(Jahre > 1 || Jahre == 0)
{
CountdownText += Jahre + " Jahre ";
}
else if(Jahre == 1)
{
CountdownText += Jahre + " Jahr ";
}
}
if(Rest >= 86400)
{
var Tage = Math.floor(Rest/86400);
Rest = Rest-Tage*86400;
if(Tage > 1 || Tage == 0)
{
CountdownText += Tage + " Tage ";
}
else if(Tage == 1)
{
CountdownText += Tage + " Tag ";
}
}
if(Rest >= 3600)
{
var Stunden = Math.floor(Rest/3600);
Rest = Rest-Stunden*3600;
if(Stunden > 1 || Stunden == 0)
{
CountdownText += Stunden + " Stunden ";
}
else if(Stunden == 1)
{
CountdownText += Stunden + " Stunde ";
}
}
if(Rest >= 60)
{
var Minuten = Math.floor(Rest/60);
Rest = Rest-Minuten*60;
if(Minuten > 1 || Minuten == 0)
{
CountdownText += Minuten + " Minuten ";
}
else if(Minuten == 1)
{
CountdownText += Minuten + " Minute ";
}
}
if(Rest > 1 || Rest == 0)
{
CountdownText += Rest + " Sekunden ";
}
else if(Rest==1)
{
CountdownText += Rest + " Sekunde ";
}
document.getElementById('Countdown').innerHTML = CountdownText;
window.setTimeout("CountdownAnzeigen()", 1000);
}
//-->
</script>
Das Countdownscript habe ich von webmaster-resource.
Danke und Gruß,
Dietmar