Atomzeit

kevkev

Erfahrenes Mitglied
hallo,

Ich möchte für meine Homepage die aktuelle Atomzeit angezeigt bekommen.
Ich lese von der uni leipzig mit einem php-script die aktuelle atomzeit aus, mit vielleicht 0,7 sekunden verzögerung.

Diese wird auch richtig dargestellt aber wie realisiere ich es das die zeit weiterläuft?
Ich kann dem javascript die zeit z.b. mit 12:05:29 übergeben, das js soll nun ab da die uhrzeit weiterlaufen lassen.

Funktioniert so etwas?

Gruß kevin
 
Also, wenn du die Zeit in Sekunden per PHP an das script übergeben könntest hätte ich da schon was vorbereitet, dass in allen gänigen Browsern funktioniert und XHTML-Konform wäre:

Der ersten Script-Bereich in den head vom Dokument, den Zweiten an die Stelle, wo die "Uhr" hin soll. Die php-Variable $server_starttime hat hierbei den Wert der Sekunden seit der UNIX-Epoch gespeichert.

HTML:
<script type="text/javascript"><!--
     	window.onload=clock
     
     	var client_starttime = new Date();
     	var difference = <?php echo $server_starttime; ?>000 - parseInt(client_starttime.getTime());
     
     	function clock(){
     
     		var client_time = new Date(),
 			display_time = new Date(client_time.getTime() + difference);
     
     		var	h = display_time.getHours(),
     			m = display_time.getMinutes(),
     			s = display_time.getSeconds();
     
     		if (h>24) h-=24;
     
 		var display = ((h<10) ? '0' : '') + h + ((m<10) ? ':0' : ':') + m + ((s<10) ? ':0' : ':') + s;
 		if (document.getElementById) document.getElementById('clock').innerHTML = display;
 			 else if (document.all) document.all.clock.innerHTML = display;
     				else if (document.layers) {
 				 document.layers['clock'].document.clear();
 				 document.layers['clock'].document.write(display);
 				 document.layers['clock'].document.close();
     				}
     
     		setTimeout('clock()', 999);
     
     	} //clock()
     //--></script>
     
     <script type="text/javascript"><!--
     	if (document.layers) document.write('<layer id="clock"></layer>');
     	else document.write('<div id="clock"></div>');
     //--></script>

Wenn du's nicht in Selunden angeben kannst, dann kann man das script auch relativ leicht ummodeln.

Hier noch ein Link zur fertigen PHP/JS-Uhr.
 
Zuletzt bearbeitet:
Hi,

Also die zeit in sekunden kann angeben, aber irgendwie will das bei mir nicht funktionieren.
Da wird nix angezeigt, egal was für zahlen drinsetehen.

Was hab ich denn falsch gemacht :)?

Gruß kevin
 
Hi,

Also im folgenden Format wäre es nicht schlecht:

Tag.Monat.Jahr - Stunde:Minute:Sekunde

Alles zahlen. :)

Gruß kevin
 
Hab's jetzt nicht getestet, aber so müsste es gehen. Das nächste mal bei sowas einfachem bitte selber anpassen!
HTML:
<script type="text/javascript"><!--
    	window.onload=clock
    	 
    	var client_starttime = new Date();
    	var difference = <?php echo $server_starttime; ?>000 - parseInt(client_starttime.getTime());
    	
    	function leadingzero(intInt) {
 			return(intInt<10) ? '0' + intInt.toString() : intInt;
    	}
    
    	function clock(){
    
    	var client_time = new Date(),
    		display_time = new Date(client_time.getTime() + difference);
    	 
    	var	y = display_time.getFullYear(),
    		M = display_time.getMonth()+1,
    		d = display_time.getDate(),
    		h = display_time.getHours(),
    		m = display_time.getMinutes(),
    		s = display_time.getSeconds();
    
    	if (h>24) h-=24;
    			
    	var display = leadingzero(d) + '.' +
    		leadingzero(M) + '.' +
    		leadingzero(y) + ' - ' +
    		leadingzero(h) + ':' +
    		leadingzero(m) + ':' +
    		leadingzero(s);
    	if (document.getElementById) document.getElementById('clock').innerHTML = display;
    	else if (document.all) document.all.clock.innerHTML = display;
    	else if (document.layers) {
    		document.layers['clock'].document.clear();
    		document.layers['clock'].document.write(display);
    		document.layers['clock'].document.close();
    	}
    
    	setTimeout('clock()', 999);
    
    } //clock()
    //--></script>
Der zweite Scriptbereich bleibt gleich.
 
Zuletzt bearbeitet:
Hi,

Danke, ich würde es ja gern anpassen wenn ich könnte :).

Aber leider funktioniert das 2. nicht. Der IE sagt intInt ist undefiniert?!

Gruß Kevin
 
Zuletzt bearbeitet:
Ja, jetzt funktionierts ohne Probleme :)! Danke!

Ich such grad ein paar Partner für meinen "Partner" bereich zusammen, da du geholfen hast, würde ich dich gern da eintragen!
Wenn du willst sag mir einfach deine homepage :)!

gruß kevin
 

Neue Beiträge

Zurück