Ein Jubiläum ist ein Datum, an dem eine Null für eine Null von mehreren Nullen geehrt wird.
– Sir Peter Ustinov Kapitel 5 Datum
JavaScript wird häufig dazu verwendet, Datumsinformationen auszugeben. Dafür gibt es ein eigenes Objekt: Date.
Bei dem Date-Objekt handelt es sich um ein Objekt, von dem man eine Instanz erzeugen kann, und zwar – analog zu Arrays – folgendermaßen:
var d = new Date();
Die Variable d ist jetzt eine Datumsvariable. Sie enthält das aktuelle Datum (inklusive Uhrzeit) auf dem lokalen Rechner (nicht auf dem Server), und zwar das Datum zu dem Zeitpunkt, zu dem die Instanz erzeugt worden ist. Wenn also nach der Generierung der Variablen d eine lange Schleife folgt, die mehrere Sekunden dauert, ändert d seinen Wert nicht.
Bei der Erzeugung der Instanz kann man die Datumsvariable auch direkt mit (anderen) Werten belegen. Dazu gibt es zwei Möglichkeiten:
var d = new Date(Jahr, Monat, Tag);
bzw.
var d = new Date(Jahr, Monat, Tag, Stunde, Minute, Sekunde);
Beachten Sie dazu unbedingt die unten stehenden Hinweise, insbesondere die für den Monatswert!
Man kann mit geeigneten Methoden den Wert der Variablen d ändern, beispielsweise Tag, Monat und Jahr. Natürlich hat das überhaupt keine Auswirkung auf die Systemzeit des Clients oder des Servers, das wäre ja aus Sicherheitsgründen völliger Wahnsinn: Lediglich der Wert der Variablen ändert sich.
Zu den Standardanwendungen des Date-Objekts gehören die Anzeige des aktuellen Datums sowie die Berechnung, wie viel Zeit zwischen zwei Daten liegt. Im Folgenden sollen diese beiden Möglichkeiten anhand von Beispielen erläutert werden.
5.1 Tagesdatum  
Hat man erst einmal eine Instanz des Date-Objekts erzeugt, kann man das genaue Datum mit entsprechenden Methoden abfragen. Wie unter UNIX generell üblich, speicherte JavaScript 1.0 jedes Datum als die Anzahl der Millisekunden seit dem 1. Januar 1970; in neueren Versionen ist das nicht mehr so. Da es ein wenig aufwändig wäre, aus diesem Wert die interessanteren Daten wie etwa die Jahreszahl herauszufinden, gibt es hierfür vorgefertigte Methoden. Eine komplette Liste befindet sich in der Referenz, in der folgenden Tabelle finden Sie lediglich die wichtigsten Methoden.
Tabelle 5.1 Die wichtigsten Methoden des Date-Objekts
Methode
|
Beschreibung
|
|
Aktueller Tag der Datumsvariablen (1...31)
|
|
Aktueller Monat der Datumsvariablen minus eins (0...11)
|
|
Aktuelles Jahr der Datumsvariablen; für den Wertebereich siehe den Abschnitt »Y2K«
|
|
Aktuelle Stunde der Datumsvariablen (0...23)
|
|
Aktuelle Minute der Datumsvariablen (0...59)
|
|
Aktuelle Sekunde der Datumsvariablen (0...59)
|
|
Aktuelle Millisekunden der Datumsvariablen (0...999)
|
Hiermit ist es recht einfach, das aktuelle Datum auszugeben. Will man auf Monatsnamen nicht verzichten, muss man diese wieder in einem Array speichern:
<html>
<head>
<title>Tagesdatum</title>
<script type="text/javascript"><!--
var monatsnamen = new Array(12);
monatsnamen[0] = "Januar"; monatsnamen[1]="Februar";
monatsnamen[2] = "März"; monatsnamen[3]="April";
monatsnamen[4] = "Mai"; monatsnamen[5]="Juni";
monatsnamen[6] = "Juli"; monatsnamen[7]="August";
monatsnamen[8] = "September"; monatsnamen[9]="Oktober";
monatsnamen[10] = "November";
monatsnamen[11]="Dezember";
function tagesdatum() {
var d = new Date();
var datumsstring = d.getDate();
datumsstring += "." + monatsnamen[d.getMonth()];
datumsstring += "." + d.getYear();
document.write(datumsstring);
}
//--></script>
</head>
<body>
<h1>Tagesdatum</h1>
Guten Tag, heute ist der
<script type="text/javascript"><!--
tagesdatum();
//--></script>
!
</body>
</html>
Wenn Sie sich über die Ausgabe des Skripts etwas wundern (in Hinblick auf die Jahreszahl), dann lesen Sie weiter!
|