• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

NTP Uhrzeit auf HTML anzeigen?!

mitch_m

Neues Mitglied
Hallo
ich habe zurzeit auf meiner HTML eine uhr eingebaut mit javascript..
Auf dieser Seite kann ich einstellen dass ein IO modul was über Lan mit dem netz verbunden ist um eine bestimmte uhrzeit angeht bzw aus..
die Uhrzeit dieses Moduls wird aber über einen NTP server syncronisiert, und ist nicht gleich mit der HTML uhr...

wie kann ich nun die uhrzeit auf der html auch mit dem NTP server Syncronisieren?

Mein code für die uhr sieht so aus

HTML:
<script language=JavaScript src=dhtml.js></script>
<script type="text/javascript">
  function ZeitAnzeigen() {
  var Wochentagname = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                                "Donnerstag", "Freitag", "Samstag");
  var Jetzt = new Date();
  var Tag = Jetzt.getDate();
  var Monat = Jetzt.getMonth() + 1;
  var Jahr = Jetzt.getYear();
  if (Jahr < 999)
    Jahr += 1900;
  var Stunden = Jetzt.getHours();
  var Minuten = Jetzt.getMinutes();
  var Sekunden = Jetzt.getSeconds();
  var WoTag = Jetzt.getDay();
  var Vortag = (Tag < 10) ? "0" : "";
  var Vormon = (Monat < 10) ? ".0" : ".";
  var Vorstd = (Stunden < 10) ? "0" : "";
  var Vormin = (Minuten < 10) ? ":0" : ":";
  var Vorsek = (Sekunden < 10) ? ":0" : ":";
  var Datum = Vortag + Tag + Vormon + Monat + "." + Jahr;
  var Uhrzeit = Vorstd + Stunden + Vormin + Minuten + Vorsek + Sekunden;
  var Gesamt = Wochentagname[WoTag] + ", " + Datum + ", " + Uhrzeit;

  if (DHTML) {
    if (NS4) {
      setContent("id", "Uhr", null, '<span class="Uhr">' + Gesamt + "<\/span>");
    } else {
      setContent("id", "Uhr", null, Gesamt);
    }
    window.setTimeout("ZeitAnzeigen()", 1000);
  }
}
</script>
 
Mit HTML geht das gar nicht. Dein Quellcode ist bereits JavaScript. Daher habe ich dein Topic auch mal in den richtigen Bereich dafür verschoben. Wenn Du Daten von einem Server laden willst ohne die Seite zu aktualisieren, verwende AJAX.
 
Wenn es nicht zu genau darauf ankommt, dann könntest auch auf dem Server das Javascript teilweise dynamisch erstellen, also etwa (psudocode):

PHP:
var Jetzt = new Date( <?php echo $phpServerDate ?>);

Und dann die Uhr auf dem Client laufen lassen. Probleme sind:
1) Response Time vom Server
2) Uhr wird nach dem Anstoß nicht mehr synchronisiert.
Vorteil: Sparst dir AJAX und das Pollen im Hintergrund, das auch 1) als Problem haben kann.



 
Mach Dir doch das Leben leicht:
HTML-Uhr fr die Homepage - kostenlos
Die Uhrzeit dort wird regelmäßig mit NTP-Server synchronisiert.

Aber wenn die einmal vom Server geladen wurde und läuft, findet hier auch kein Abgleich mehr mit dem NTP-Server statt.
Das sollte aber kein Problem sein - außer man lässt die Webseite mit der Uhrzeit über Monate offen ... aber wer macht das schon:-)
 
Zurück
Oben