Immer wieder benötigt man an einer oder andere Stelle eigener Webpräsennz die Datums- und/oder Zeitdarstellung. Die bloße Darstellung des aktuellen Datum samt der Uhrzeit ist kein Kunststück - dazu Bedarf es lediglich folgender Codezeilen:
function zeigeDatum() { var heute= new Date(); // Datumsobjekt erstellen var tag = heute.getDay(); var monat=heute.getMonth(); var jahr=heute.getFullYear(); var stunde=heute.getHours(); var minute=heute.getMinutes(); var sekunde=heute.getSeconds(); document.getElementById('date_div').innerHTML = 'Die Zeit jetzt: '+tag+'.'+monat+'.'+jahr+ ', '+stunde+':'+minute+':'+sekunde; } zeigeDatum(); // ruft die Funktion auf, welche die Zeit in einem DIV mit der id="date_div" darstellt
Das einzige Problem bei dieser Lösung ist die Tatsache, dass die Zeit sich nicht selbständig aktualisiert.
Wir helfen uns dabei mit der setInterval()
-Funktion. Diese kann eine beliebiege Anweisung in einem bestimmten Rhytmus (Angabe in Millisekunden) ausführen:
var timer = setInterval("zeigeDatum()", 1000);
Die Rückgabe setInterval()
-Funktion kann dabei optional in einer Variable notiert werden. Diese dient dann als Referenz wenn man die Intervalausführung wieder stoppen möchte.
Auch Javascript kann den sog. (Unix) Timestamp berechnen, dieser ist zum Beispiel sinnvoll, wenn man die Zeitabweichung zwischen seinem Rechners und dem Server berechnen möchte:
var heute= new Date(); // Datumsobjekt erstellen var timestamp= heute.getTime(); // Zeitstempel in Millisekunden(!) berechnen var unix_timestamp = Math.round(timestamp/1000); // in Sekunden umrechnen und aufrunden
Bedenke, dass Javascript immer nur die Zeit abruft, die auf deinem Rechner eingestellt ist, inklusive der eventuellen Zeitabweichung. Daher ist diese nicht zur Zeitabgleich mit den anderen Rechnern im Internet geeignet. In diesem Fall sollte man unbedigt zur von dem Server bereitgestellten Zeit (bzw Unix-Timestamp/Zeitstempel) greifen.