Serverzeit abfragen

Dimenson

Erfahrenes Mitglied
Hallo Leute,

ich habe ein Javascript was momentan jede Sekunde die Serverzeit mit Ajax und einer php ich weitergebe.
Nun habe ich gemerkt, das es nicht wirklich flüßig läuft. Danach habe ich statt der Serverzeit abfrage einfach "new Date();" genommen. Das ging wirklich flott und war mit dem Ergebnis sehr zufrieden.
Das Problem ist hier das er die Clientuhrzeit nimmt. Bei meinem Projekt handelt es sich um ein Auktionshaus. Und da ist halt sehr wichtig immer mit der richtigen Zeit zu arbeiten. Hier ein Ausschnitt meines Javascripts:

Java:
function delayme2() {
checkauction11();
var i = 1;
var n = 5;
    if(i < n) {
setTimeout(function () { checkauction11(); }, 1000);
    }
}

function checkauction11() {
myarray=arr;
var MyAuctionId= new Array();	
   $.ajax({
   type: "GET",
   url: "$site_http_root/content/auktionshaus/servertime.php", 
   async:false,
    success: function(strResponse){
    ressss=unescape(strResponse);
    //alert(ressss);
   },
   });
  timeNow = ressss*1000;
  
for (var i = 0; i < myarray.length; i++) {
   
   temp=   myarray[i].id.split("-");
   var endtimestamp=$('#'+myarray[i].id).data('timestamp');
   var teste=temp[1];      

   var endTime = new Array();
   endTime[0] = new Date(endtimestamp*1000); //Jahr, Monat - 1 ************!, Tag, Stunden, Minuten, Sekunden    

   var diffTime = endTime[0] - timeNow; //in Millisekunden
   diffTime = Math.floor(diffTime/1000);

   if(diffTime >= 0) {
	   MyAuctionId.push(temp[1]);
     	countdown3(teste,diffTime);

   } else {
		$("#manager_domain_auktion_id-"+temp[1]).html("Beendet");
   }
   
}

Gibt es eine performantere Lösung als mit Ajax?
Danke
 
Es dürfte doch reichen, die Serverzeit einmalig beim Aufruf mit PHP zu setzen, und dann nur noch Javascript dran rumdoktoren zu lassen.

Ich glaube es funktioniert wenn du das php-Date folgendermaßen formatierst:
PHP:
$now = 'YYYY-MM-DD HH:mm:ss';

Code:
var servertime = new Date("<?php echo $now; ?>");

Dann rechnest du eben jede Sekunde eine Sekunde auf das servertime drauf. Ist ungetestet, aber so grob müsste das gehen.
 

Neue Beiträge

Zurück