Die Funktion uhr( ) verwendet mehrere fest vorgegebene Funktionen.
So z.B.: getDate , getMonth , getHours , getMinutes , getSeconds und getFullYear.
Damit werden alle benötigten Daten vom Rechner des Besuchers abgerufen.
Die if - Abfragen setzen nur vor die einstelligen Ziffern eine Null, damit die Zeitanzeige ordentlich aussieht. Beim Monat wird eine Eins addiert,weil für Javascript der Januar Monat Null ist.
Und hier der Quelltext:
Aufruf der einzelnen Zeitfunktionen:

 function uhr() {
  Datum = new Date();
  Tag = Datum.getDate();
  Monat = Datum.getMonth() + 1;
  Jahr = Datum.getFullYear();
  Stunde = Datum.getHours();
  Minute = Datum.getMinutes();
  Sekunde = Datum.getSeconds();

Abfrage, ob Ziffer kleiner als 10 und somit einstellig ist. Wenn ja, eine Null davorschreiben:

    if(Tag<10)Tag = "0" + Tag;
    if(Monat<10)Monat = "0" + Monat;
    if(Stunde<10)Stunde = "0" + Stunde;
    if(Minute<10)Minute = "0" + Minute;
    if(Sekunde<10)Sekunde = "0" + Sekunde;

Einsetzen der ermittelten Zeit in zwei Textstellen:

   document.all.zeigezeit.innerHTML = Stunde + " : " + Minute + " : " + Sekunde;
   document.all.zeigedatum.innerHTML = Tag + ". " + Monat + ". " + Jahr;
}

Damit die ganze Sache dynamisch wird, muß die Funktion immer wieder neu aufgerufen werden.
In diesem Fall alle 100 Millisekunden und direkt im body:

onLoad="window.setInterval('uhr()',100)"

Die Textstellen im HTML-Quelltext sehen so aus:

<span id="zeigezeit"></span><br>
<span id="zeigedatum"></span><br>

Und weil diese Uhr nur mit dem IExplorer funktioniert, habe ich mich mal hingesetzt und eine Variante für die Netscape-Familie gebaut, die auch mit dem IE geht.

\|/
- -
C(o,o)D
o
---o0o--o0o---