# Date

Allgemeines zur Verwendung

### Methoden:

getDate() (Monatstag ermitteln)
getDay() (Wochentag ermitteln)
getFullYear() (volles Jahr ermitteln)
getHours() (Stundenteil der Uhrzeit ermitteln)
getMilliseconds() (Millisekunden ermitteln)
getMinutes() (Minutenteil der Uhrzeit ermitteln)
getMonth() (Monat ermitteln)
getSeconds() (Sekundenteil der Uhrzeit ermitteln)
getTime() (Zeitpunkt ermitteln)
getTimezoneOffset() (Zeitzonenabweichung der Lokalzeit ermitteln)
getUTCDate() (Monatstag von UTC-Zeit ermitteln)
getUTCFullYear() (volles Jahr von UTC-Zeit ermitteln)
getUTCHours() (Stundenteil der UTC-Uhrzeit ermitteln)
getUTCMilliseconds() (Millisekundenteil der UTC-Uhrzeit ermitteln)
getUTCMinutes() (Minutenteil der UTC-Uhrzeit ermitteln)
getUTCMonth()(Monat von UTC-Uhrzeit ermitteln)
getUTCSeconds()(Sekundenteil der UTC-Uhrzeit ermitteln)
getYear() (Jahr ermitteln)
parse() (Millisekunden seit dem 01.01.1970 ermitteln)
setDate() (Monatstag setzen)
setFullYear() (volles Jahr setzen)
setHours() (Stunden der Uhrzeit setzen)
setMilliseconds() (Millisekunden setzen)
setMinutes() (Minuten der Uhrzeit setzen)
setMonth() (Monat setzen)
setSeconds() (Sekunden der Uhrzeit setzen)
setTime() (Datum und Uhrzeit setzen)
setUTCDate() (Monatstag für UTC-Zeit setzen)
setUTCFullYear() (volles Jahr für UTC-Zeit setzen)
setUTCHours() (Stunden der UTC-Zeit setzen)
setUTCMilliseconds() (Millisekunden der UTC-Zeit setzen)
setUTCMinutes() (Minuten der UTC-Zeit setzen)
setUTCMonth() (Monat für UTC-Zeit setzen)
setUTCSeconds() (Sekunden der UTC-Zeit setzen)
setYear() (Datum und Uhrzeit setzen)
toGMTString() (Zeitpunkt in UTC-Format konvertieren)
toLocaleString() (Zeitpunkt in lokales Format konvertieren)
UTC() (UTC-Zeit seit dem 01.01.1970 ermitteln)

## Date: Allgemeines zur Verwendung

Das Objekt `Date` ist für alle Berechnungen mit Datum und Zeit zuständig. Dabei gibt es, wie in der EDV üblich, einen fixen historischen Zeitpunkt, der intern als Speicherungs- und Berechnungsbasis dient. In JavaScript ist dies - wie in der C- und Unix-Welt - der 1. Januar 1970, 0:00 Uhr UTC (Universal Coordinated Time). Die Einheit, in der in JavaScript intern Zeit berechnet wird, ist eine Millisekunde.

Bevor Sie über JavaScript Zugriff auf die eingebauten Datums- und Uhrzeitfunktionen haben, müssen Sie ein neues `Date`-Objekt erzeugen. Dabei gibt es mehrere Varianten.

### Variante 1:

    Objektname = new Date();

### Variante 2:

    Objektname = new Date("Monat Tag, Jahr Stunden:Minuten:Sekunden");

### Variante 3:

    Objektname = new Date(Jahr, Monat, Tag);

### Variante 4:

    Objektname = new Date(Jahr, Monat, Tag, Stunden, Minuten, Sekunden);

### Variante 5:

    Objektname = new Date(Millisekunden);

### Erläuterung:

Eine neues `Date`-Objekts speichern Sie in einem selbst vergebenen Objektnamen. Hinter dem Namen folgt ein Gleichheitszeichen. Dahinter folgt das reservierte Wort `new` und der Aufruf der Objektfunktion `Date()`.

Benutzen Sie die Variante 1, wenn Sie eine Objektinstanz erzeugen wollen, in der das zum Zeitpunkt der Programmausführung aktuelle Datum und die aktuelle Uhrzeit gespeichert werden soll. Benutzen Sie eine der Varianten 2 bis 5, wenn Sie das neue Datumobjekt mit bestimmten Werten (also einem bestimmten Datum und einer bestimmten Uhrzeit) initialisieren wollen. Alle Initialisierungswerte wie Monat oder Minuten müssen Sie in Zahlenform angeben, also etwa `9` für Monat Oktober. Ausnahme: bei Variante (2) übergeben Sie die Initialisierungsdaten als Zeichenkette. Dabei wird der Monat in englischer Schreibweise angegeben, also beispielsweise `october`. Wenn Sie einen Monat als Zahlenwert übergeben, so wie in den Varianten 3 und 4, müssen Sie bei 0 zu zählen beginnen. Für Januar müssen Sie also 0 übergeben, für Februar 1, und für Dezember 11. Dies ist auch der Grund, warum für den Monat Oktober nicht 10 sondern 9 übergeben wird. Bei Variante 5 müssen Sie als Zahl die Anzahl der Millisekunden seit dem 01.01.1970, 0:00 Uhr UTC angeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function bis2020 () {
      var jetzt = new Date();
      var Zeit = jetzt.getTime() / 1000;
      var Jahr2020 = new Date(2020, 0, 1, 0, 0, 0);
      var Endzeit = Jahr2020.getTime() / 1000;
      var Rest = Math.floor(Endzeit - Zeit);
      alert("Noch " + Rest + " Sekunden bis zum Jahr 2020");
    }
    </script>
    </head><body>
    <a href="javascript:bis2020()">Wie lange noch?</a>
    </body></html>

### Erläuterung:

Das Beispiel zeigt eine vollständige JavaScript- Funktion. Die Funktion ermittelt die Anzahl Sekunden zwischen aktuellem Zeitpunkt und dem Jahr 2020. Dazu wird in `jetzt` eine neue Instanz von `Date` mit der aktuellen Zeit erzeugt. Für den Zeitpunkt, an dem das Jahr 2020 beginnt, wird eine zweite Objektinstanz von `Date` erzeugt, nämlich in `Jahr2020`. Dazu werden der Objektfunktion `Date()` entprechende Parameter übergeben. Über die beiden Objektnamen `jetzt` bzw. `Jahr2020` wird dann die Methode `Objektname.getTime()` aufgerufen. `getTime()` liefert die Anzahl Millisekunden seit dem 01.01.1970 zurück. In der Variablen `Zeit` wird auf diese Weise die Anzahl Sekunden zwischen dem 01.01.1970 und dem aktuellen Zeitpunkt gespeichert, und in der Variablen `Endzeit` die Anzahl Sekunden zwischen dem 01.01.1970 und dem 01.01.2020. Die Differenz der beiden Werte wird in der Variablen `Rest` gespeichert und mit `alert()` in einem Meldungsfenster am Bildschirm ausgegeben.

### Beachten Sie:

Alle Methoden, mit denen Sie einen aktuellen Zeitpunkt oder einen Teil davon, etwa den Wochentag oder den Monat, ermitteln können, beziehen sich auf die Zeit, die auf der Systemzeit des Anwenderrechners basiert. Denn JavaScript wird beim Anwender von dessen Browser ausgeführt. Die aktuelle Systemzeit des Server-Rechners können Sie mit JavaScript nicht ermitteln - das geht beispielsweise mit einem Perl-Script.

## getDate()

Liefert den Monatstag eines Datumsobjektes als Zahl zurück, beispielsweise 2, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    var jetzt = new Date();
    var Tag = jetzt.getDate();
    document.write('<table border bgcolor="#CCFFFF"><tr><td><font size="7">');
    document.write(Tag + "<\/font><\/td><\/tr><\/table>");
    </script>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `jetzt.getDate()` wird das aktuelle Tagesdatum innerhalb des Monats ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `Tag` gespeichert. Anschließend wird mit Hilfe von `document.write()` dynamisch eine kleine Tabelle in die Datei geschrieben, in der das aktuelle Tagesdatum formatiert ausgegeben wird. Damit ein Maskieren der `"` entfällt, wurde als Textbegrenzerzeichen das `'` gewählt.

## getDay()

Liefert den Wochentag eines Datumsobjektes als Zahl zurück, und zwar in Form von Zahlen zwischen 0 (für Sonntag), 1 (für Montag) usw. bis 6 (für Samstag), also beispielsweise 3, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist, da der 02.10.1991 ein Mittwoch war.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    var jetzt = new Date();
    var TagInWoche = jetzt.getDay();
    var Wochentag = new Array("Sonntag", "Montag", "Dienstag", "Mittwoch",
                              "Donnerstag", "Freitag", "Samstag");
    document.write('<table border bgcolor="#CCFFFF"><tr><td><b>' +
      Wochentag[TagInWoche] + "<\/b><\/td><\/tr><\/table>");
    </script>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `jetzt.getDay()` wird der numerische Wert des aktuellen Wochentags ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `TagInWoche` gespeichert. Es soll jedoch ein richtiger Wochentagname ausgegeben werden. Deshalb wird im Beispiel ein Array-Objekt mit deutschen Wochentagnamen erzeugt. Das erste Element ist dabei der Sonntag, da der Rückgabewert von `getDay()` ebenfalls intern mit Sonntag als erstem Wochentag rechnet.
Anschließend wird mit Hilfe von `document.write()` dynamisch eine kleine Tabelle in die Datei geschrieben, in der das aktuelle Tagesdatum formatiert ausgegeben wird. Beachten Sie, dass die Variable `TagInWoche` dabei als Index für die Ausgabe des richtigen Elements aus dem Array `Wochentag` benutzt wird.

## getFullYear()

Liefert im Gegensatz zu getYear() das volle Jahr zurück. Im Internet Explorer ist dies bei Daten ab dem Jahr 2000 mit dem Resultat von `getYear()` identisch.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    var jetzt = new Date();
    var Jahr = jetzt.getFullYear();
    document.write("Wir befinden uns im Jahr " + Jahr);
    </script>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `jetzt.getFullYear()` wird das volle aktuelle Jahr ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `Jahr` gespeichert. Anschließend wird zur Kontrolle ein Text mit der Ausgabe dieser Variablen ins Dokumentfenster geschrieben.

## getHours()

Liefert die Stunden der Uhrzeit eines Datumsobjektes als Zahl zurück, beispielsweise 23, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var jetzt = new Date();
    var Std = jetzt.getHours();
    if (Std >= 5 && Std < 12) {
      alert("Guten Morgen!");
    } else if (Std >= 12 && Std < 18) {
      alert("Guten Tag!");
    } else if (Std >= 18 && Std <= 23) {
      alert("Guten Abend!");
    } else if (Std >= 0 && Std < 5) {
      alert("Zeit, ins Bett zu gehen!");
    }
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `jetzt.getHours()` wird die Stunde des Tages ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `Std` gespeichert. Anschließend wird ein Meldungsfenster mit einem tageszeitabhängigen Text ausgegeben, je nachdem in welchem Bereich der Wert von `Std` liegt.

## getMilliseconds()

Ermittelt die Anzahl der Millisekunden seit der letzten vollen Sekunde.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function aktualisieren () {
      var zeit = new Date();
      var ms = zeit.getMilliseconds();
      document.Formular.Ausgabe.value = ms;
    }
    </script>
    </head><body onload="document.Formular.Ausgabe.value = '0'">
    <form name="Formular" action="">
    <input name="Ausgabe" type="text">
    <input type="button" value="aktualisieren" onclick="aktualisieren()">
    </form>
    </body></html>

### Erläuterung:

Das Beispiel enthält ein Formular mit einem Eingabefeld und einem Klick-Button. Beim Anklicken des Buttons wird die Funktion `aktualisieren()` aufgerufen, die im Dateikopf notiert ist. Diese Funktion erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `zeit`. Mit `zeit.getMilliseconds()` werden die Millisekunden seit der letzten vollen Sekunde ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `ms` gespeichert. Anschließend wird der Wert des Formulareingabefeldes mit dem ermittelten Wert belegt, um das Ergebnis anzuzeigen.

## getMinutes()

Liefert die Minuten der Uhrzeit eines Datumsobjektes als Zahl zurück, beispielsweise 59, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var jetzt = new Date();
    var Std = jetzt.getHours();
    var Min = jetzt.getMinutes();
    var StdAusgabe = ((Std < 10) ? "0" + Std : Std);
    var MinAusgabe = ((Min < 10) ? "0" + Min : Min);
    alert("Bei Ihnen ist es jetzt " + StdAusgabe + "." + MinAusgabe + " Uhr");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `jetzt.getHours()` wird die Stunde des Tages ermittelt, mit `jetzt.getMinutes()` die Minutenzahl. Der Rückgabewert der Aufrufe wird in den Variablen `Std` und `Min` gespeichert. Dann wird die Stundenzahl und die Minutenzahl für die Ausgabe formatiert. Wenn die Anzahl der Stunden oder Minuten kleiner 10 ist, wird eine 0 davorgesetzt. Schließlich wird ein Meldungsfenster mit der aktuellen Uhrzeit ausgegeben.

## getMonth()

Liefert den Monat eines Datumsobjektes als Zahl zurück, beispielsweise 9, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist. Beachten Sie, dass die Monatszählung bei 0 beginnt. 0 ist also Januar, 1 ist Februar usw.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    var jetzt = new Date();
    var Jahresmonat = jetzt.getMonth();
    var Monat = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni",
                          "Juli", "August", "September", "Oktober", "November", "Dezember");
    document.write('<table border bgcolor="#CCFFFF"><tr><td><b>');
    document.write(Monat[Jahresmonat] + "<\/b><\/td><\/tr><\/table>");
    </script>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `jetzt.getMonth()` wird der numerische Wert des aktuellen Monats ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `Jahresmonat` gespeichert. Es soll jedoch ein richtiger Monatsname ausgegeben werden. Deshalb wird im Beispiel ein Array-Objekt mit deutschen Monatsnamen erzeugt.
Anschließend wird mit Hilfe von `document.write()` dynamisch eine kleine Tabelle in die Datei geschrieben, in der der aktuelle Monat formatiert ausgegeben wird. Beachten Sie, dass die Variable `Jahresmonat` dabei als Index für die Ausgabe des richtigen Elements aus dem Array `Monat` benutzt wird. Da auch bei Arrays bei 0 zu zählen begonnen wird, wird beispielsweise "Januar" geschrieben, wenn in `Jahresmonat` der Wert 0 gespeichert ist, oder "Februar", wenn in `Jahresmonat` der Wert 1 gespeichert ist.

## getSeconds()

Liefert die Sekunden der Uhrzeit eines datumsobjektes als Zahl zurück, beispielsweise 0, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var Zaehler = 0;
    function Anzeige () {
      var jetzt = new Date();
      var Sekunden = jetzt.getSeconds();
      alert(Sekunden);
      Zaehler = Zaehler + 1;
      if (Zaehler < 3)
        Anzeige();
    }

    Anzeige();
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel definiert eine Funktion `Anzeige()`. Darin wird ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt` erzeugt. Mit `jetzt.getSeconds()` wird die Sekundenzahl innerhalb der aktuellen Minute der Uhrzeit ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `Sekunden` gespeichert. Dann wird die Sekundenzahl ausgegeben. Nachdem der Anwender das Meldungsfenster mit der Anzeige bestätigt hat, wird die Variable `Zaehler` um 1 erhöht. Solange diese Variable kleiner 3 ist, wird die Funktion `Anzeige()` erneut aufgerufen. Dabei werden alle Anweisungen innerhalb der Funktion wiederholt.

## getTime()

Liefert die Anzahl Millisekunden als Zahl zurück, die seit dem 1. Januar 1970, 0:00:00 Uhr UTC, bis zu dem im Datumsobjekt gespeicherten Zeitpunkt vergangen sind.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var jetzt = new Date();
    alert(jetzt.getTime());
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `alert(jetzt.getTime())` wird die aktuelle Anzahl von Millisekunden, die seit dem 01.01.1970 (UTC) vergangen sind, in einem Meldungsfenster ausgegeben. Probieren Sie das ruhig mal aus, um ein Gefühl für die Größenordnung der Werte zu bekommen, die `getTime()` liefert.

## getTimezoneOffset()

Liefert den Unterschied zwischen lokaler Rechnerzeit und Greenwich Meridian Time (GMT) in Anzahl Minuten zurück. Je nach lokaler Zeitzone, die in der Systemzeit des Anwenderrechners definiert ist, ist der Rückgabewert positiv oder negativ.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var jetzt = new Date();
    var Unterschied = jetzt.getTimezoneOffset() / 60;
    alert("Unterschied zu Greenwich: " + Unterschied + " Stunde(n)");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel möchte den Unterschied zwischen Greenwich-Zeit und lokaler Zeit in Stunden ausgeben. Dazu erzeugt es ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Dann wird die Methode `getTimezoneOffset()` für dieses Datumobjekt aufgerufen. Um keine Minutenzahlen, sondern Stundenzahlen zu erhalten, wird der Rückgabewert gleich durch 60 geteilt. Das Ergebnis wird in der Variablen Unterschied gespeichert. In einem Meldungsfenster wird das Ergebnis anschließend ausgegeben.

## getUTCDate()

Diese Methode ist funktional identisch mit getDate(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getUTCDay()

Diese Methode ist funktional identisch mit getDay(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getUTCFullYear()

Diese Methode ist funktional identisch mit getFullYear(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getUTCHours()

Diese Methode ist funktional identisch mit getHours(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getUTCMilliseconds()

Diese Methode ist funktional identisch mit getMilliseconds(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getUTCMinutes()

Diese Methode ist funktional identisch mit getMinutes(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getUTCMonth()

Diese Methode ist funktional identisch mit getMonth(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getUTCSeconds()

Diese Methode ist funktional identisch mit getSeconds(), liefert ihren Wert jedoch nicht für die lokale Zeit, sondern für die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## getYear()

Liefert die seit 1900 vergangenen Jahre eines Datumsobjektes als Zahl zurück, beispielsweise 91, wenn im Datumsobjekt der 02.10.1991, 23:59:00 Uhr, gespeichert ist.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    var jetzt = new Date();
    var Jahr = jetzt.getYear();
    if (Jahr < 999)
      Jahr += 1900;
    document.write("<h1>" + Jahr + "<\/h1>");
    </script>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt mit dem aktuellen Zeitpunkt in dem Objektnamen `jetzt`. Mit `jetzt.getYear()` wird das aktuelle Jahr seit 1900 ermittelt. Der Rückgabewert des Aufrufs wird in der Variablen `Jahr` gespeichert. Da manche Browser die Jahreszahl vierstellig ausgeben, muss dies, bevor die Jahrezahl um 1900 erhöht wird, überprüft werden. Anschließend wird mit Hilfe von `document.write()` dynamisch eine Zeile in die Datei geschrieben, in der das aktuelle Jahr formatiert ausgegeben wird.

### Beachten Sie:

In den verschiedenen JavaScript-Spezifikationen wurde diese Methode unterschiedlich definiert. Dementsprechend unterscheidet sich das Verhalten der Browser. Ursprünglich galt in JavaScript Version 1.0 die Regel, dass von der Jahreszahl nach christlicher Zeitrechnung einfach 1900 abgezogen werden. Für das Jahr 1995 sollte `getYear()` demnach `95` wiedergeben, für das Jahr 2001 die Zahl `101`. In JavaScript Version 1.1 wurde hingegen definiert, dass Jahreszahlen ab dem Jahr 2000 immer vierstellig zurückgegeben werden, für Jahre davor gilt weiterhin die alte Regel. Dieser Definition folgt der Internet Explorer bis heute. Ab JavaScript 1.3 gilt schließlich wieder alleinig die ursprüngliche Regelung von JavaScript 1.0, nach der von der vierstelligen Zahl 1900 abgezogen werden. Die meisten aktuellen Browser außer dem Internet Explorer folgen dieser Regelung. `getYear()` ist aus diesen Gründen heutzutage obsolet. Verwenden Sie möglichst die eindeutige Methode getFullYear().

## parse()

Ermittelt aus einer als Parameter zu übergebenden Zeichenkette `Zeitpunkt` die Anzahl Millisekunden, die zwischen dem 01.01.1970, 0:00:00 Uhr UTC, und dem übergebenen Zeitpunkt verstrichen sind. Beachten Sie, dass Sie zum Aufrufen dieser Methode kein neues Date-Objekt erzeugen müssen, sondern direkt mit `Date` arbeiten können.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var DreissigJahre = Date.parse("Tue, 1 Jan 2000 00:00:00 GMT");
    alert(DreissigJahre);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel ermittelt die Anzahl Millisekunden zwischen dem 01.01.1970 und dem 01.01.2000. Das Ergebnis wird in der Variablen `DreissigJahre` gespeichert. Zur Kontrolle wird die Zahl in einem Meldungsfenster ausgegeben.

## setDate()

Ändert den Monatstag, der in einem Datumsobjekt gespeichert ist. Der neue Monatstag ist als Parameter zu übergeben. Achten Sie darauf, dass Sie sinnvolle Werte zwischen 1 und 31 übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var Zeit = new Date("March 10, 1998 22:48:00");
    var Tag = Zeit.getDate();
    alert(Tag);
    Zeit.setDate(1);
    Tag = Zeit.getDate();
    alert(Tag);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt `Zeit` mit einem bestimmten Zeitpunkt, der im GMT-Format angegeben wird. Zur Kontrolle ermittelt das Beispiel den aktuellen Tag im Monat aus dem definierten Zeitpunkt und gibt ihn in einem Meldungsfenster aus. Dann wird die Methode `setDate()` auf den Objektnamen `Zeit` angewendet. Im Beispiel wird der Tag des Monats auf 1 gesetzt. Anschließend wird zur Kontrolle der neue Tag im Monat ermittelt und anschließend ausgegeben.

## setFullYear()

Ändert die Jahreszahl, die in einem Datumsobjekt gespeichert ist. Das neue Jahr ist als Parameter zu übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    var zeit = new Date();
    var zukunft = zeit.setFullYear(2037);
    document.write("irgendwann schreiben wir das Jahr " + zeit.getUTCFullYear());
    </script>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt `zeit`. Dann wird die Methode `setFullYear()` auf den Objektnamen `zeit` angewendet. Im Beispiel wird das Jahr auf 2037 gesetzt. Anschließend wird das Ergebnis zur Kontrolle ins Dokument geschrieben.

## setHours()

Ändert die Stunden der Uhrzeit, die in einem Datumsobjekt gespeichert sind. Die Stundenzahl ist als Parameter zu übergeben. Achten Sie darauf, dass Sie sinnvolle Werte zwischen 0 und 23 übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var Zeit = new Date();
    var Std = Zeit.getHours();
    alert(Std);
    Zeit.setHours(23);
    Std = Zeit.getHours();
    alert(Std);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt `Zeit` mit dem aktuellen Zeitpunkt. Zur Kontrolle ermittelt das Beispiel die Stundenzahl aus der Tageszeit und gibt sie in einem Meldungsfenster aus. Dann wird die Methode `setHours()` auf den Objektnamen `Zeit` angewendet. Im Beispiel wird die Stundenzahl der Uhrzeit auf 23 gesetzt. Anschließend wird zur Kontrolle der neue Stundenanteil an der Uhrzeit ermittelt und anschließend ausgegeben.

## setMilliseconds()

Ändert die Millisekunden des Zeitpunkts, der in einem Datumsobjekt gespeichert ist. Die Millisekundenzahl ist als Parameter zu übergeben. Achten Sie darauf, dass Sie sinnvolle Werte zwischen 0 und 999 übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function millisekundenSetzen () {
      zeit = new Date();
      milli =
        prompt("Millisekunden bisher: " + zeit.getMilliseconds() + "\nBitte neuen Wert eingeben", "");
      zeit.setMilliseconds(milli);
      alert("Millisekunden jetzt: " + zeit.getMilliseconds());
    }
    </script>
    </head><body>
    <p>Klicken Sie auf diesen Verweis: <a href="javascript:millisekundenSetzen()">millisekundenSetzen()</a></p>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis auf den der Anwender klicken soll. Dieser Verweis ruft eine Funktion namens `millisekundenSetzen()` auf, die im Dateikopf notiert ist. Diese Funktion erzeugt ein neues Datumsobjekt `zeit` mit dem aktuellen Zeitpunkt. Anschließend zeigt es mit den Methoden prompt() und getMilliseconds() die aktuell in diesem Objekt gespeicherte Anzahl von Millisekunden an und fordert den Benutzer auf, eine neue Zahl einzugeben, welche in `milli` gespeichert wird. Diese Zahl wird dann mit `zeit.setMilliseconds(milli)` in dem Objekt `zeit` gespeichert. Zum Schluss zeigt die Funktion dem Benutzer noch einmal die nun im Objekt gespeicherte Anzahl an Millisekunden zur Bestätigung an, diesmal mit der Methode alert().

## setMinutes()

Ändert die Minuten der Uhrzeit, die in einem Datumsobjekt gespeichert sind. Die Minutenzahl ist als Parameter zu übergeben. Achten Sie darauf, dass Sie sinnvolle Werte zwischen 0 und 59 übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function Andersrum () {
      var Zeit = new Date();
      var Min = Zeit.getMinutes();
      var MinNeu = Zeit.setMinutes(60 - Min);
      var Min = Zeit.getMinutes();
      return (Min);
    }
    </script>
    </head><body>
    <a href="javascript:alert(Andersrum())">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird der Rückgabewert der Funktion `Andersrum()` ausgegeben, die in einem Script-Bereich im Dateikopf notiert ist. Dort wird ein neues Datumobjekt `Zeit` mit dem aktuellen Zeitpunkt erzeugt. Aus dem Zeitpunkt wird die Minutenzahl aus der Uhrzeit ermittelt. Mit der Methode `setMinutes()` wird die Minutenzahl innerhalb der Stunde umgekehrt. War es vorher beispielsweise 18.12 Uhr, ist es anschließend 18.48 Uhr. Der neue Minutenanteil an der Uhrzeit wird noch mal ermittelt und anschließend zurückgegeben. Eine solche Funktion könnte etwa als Teil einer rückwärts gehenden Uhr sinnvoll sein.

## setMonth()

Ändert den Monat, der in einem Datumsobjekt gespeichert ist. Der gewünschte Wert ist als Parameter zu übergeben. Achten Sie darauf, dass Sie sinnvolle Werte zwischen 0 und 11 übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function andererMonat () {
      var Zeit = new Date();
      var Tag = Zeit.getDate();
      Zeit.setMonth(Math.round(Math.random() * 11));
      var Monat = Zeit.getMonth();
      return (Tag + "." + (Monat + 1) + ".");
    }
    </script>
    </head><body>
    <a href="javascript:alert(andererMonat())">Test</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird der Rückgabewert der Funktion `andererMonat()` ausgegeben, die in einem Script-Bereich im Dateikopf notiert ist. Dort wird ein neues Datumobjekt `Zeit` mit dem aktuellen Zeitpunkt erzeugt. Mit der Methode `setMonth()` wird ein neuer Monat gesetzt - und zwar per Zufall. Dazu wird mit Hilfe von Math.round() und Math.random() eine zufällige Ganzzahl zwischen 0 und 11 ermittelt. Diese Zahl wird der `setMonth()`-Methode als Parameter übergeben. Der neue Monatszahl wird noch mal ermittelt und anschließend so formatiert zurückgegeben, dass ein sinnvolles Tagesdatum angezeigt wird.

## setSeconds()

Ändert die Sekunden der Uhrzeit, die in einem Datumsobjekt gespeichert sind. Die Sekundenzahl ist als Parameter zu übergeben. Achten Sie darauf, dass Sie sinnvolle Werte zwischen 0 und 59 übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    function Uhrzeit () {
      var Zeit = new Date();
      var Std = Zeit.getHours();
      var Min = Zeit.getMinutes();
      var Sek = Zeit.getSeconds();
      var SekNeu = Zeit.setSeconds(Math.floor(Sek / 10));
      Sek = Zeit.getSeconds();
      return (Std + ":" + Min + ":" + Sek + "0");
    }
    </script>
    </head><body>
    <a href="javascript:alert(Uhrzeit())">Uhrzeit</a>
    </body></html>

### Erläuterung:

Das Beispiel enthält einen Verweis. Beim Anklicken des Verweises wird der Rückgabewert der Funktion `Uhrzeit()` ausgegeben, die in einem Script-Bereich im Dateikopf notiert ist. Das ist die aktuelle Uhrzeit, jedoch so ausgegeben, dass Sekunden immer nur in 10er-Schritten ausgegeben werden. Eine Ausgabe wie 18.10:37 ist also nicht möglich, die Funktion macht 18:10:30 daraus. Zu diesem Zweck wird in der Funktion ein neues Datumobjekt `Zeit` mit dem aktuellen Zeitpunkt erzeugt. Aus dem Zeitpunkt werden die Bestandteile der Uhrzeit ermittelt. Mit der Methode `setSeconds()` wird die Sekundenzahl behandelt. Durch eine kleine mathematische Operation wird aus der möglichen Sekundenzahl zwischen 0 und 59 eine Zahl zwischen 0 und 5. Der neue Sekundenanteil an der Uhrzeit wird noch mal ermittelt. Beim Zurückgeben der Uhrzeit wird an die einstellige Sekundenzahl eine 0 angehängt, denn "in Wirklichkeit" stellt die einstellige Zahl ja den Zehneranteil an den Sekunden dar.

## setTime()

Setzt den Zeitpunkt, der in einem Datumsobjekt gespeichert ist. Erwartet als Parameter eine Zahl, die den neuen Zeitpunkt markiert. Die Zahl wird als Anzahl Millisekunden seit dem 01.01.1970, 0:00:00 Uhr interpretiert.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var Zeit = new Date();
    var AbsolutJetzt = Zeit.getTime();
    var AbsolutDann = AbsolutJetzt + (100 * 24 * 60 * 60 * 1000);
    Zeit.setTime(AbsolutDann);
    var Jahr = Zeit.getFullYear();
    var Monat = Zeit.getMonth() + 1;
    var Tag = Zeit.getDate();
    alert("in 100 Tagen ist der " + Tag + "." + Monat + "." + Jahr);
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt aus, welches Datum von jetzt ab in 100 Tagen aktuell sein wird. Zu diesem Zweck wird ein neues Datumobjekt `Zeit` mit dem aktuellen Zeitpunkt erzeugt. Mit `getTime()` wird zunächst die absolute Anzahl Millisekunden seit dem 01.01.1970 für den aktuellen Zeitpunkt ermittelt und in der Variablen `AbsolutJetzt` gespeichert. Anschließend wird zu dieser gespeicherten Zahl das Produkt aus 100 * 24 * 60 * 60 * 1000 hinzu addiert. Das ist die Anzahl Millisekunden für 100 Tage. Das Ergebnis wird in der Variablen `AbsolutDann` gespeichert. Dieser Wert wird der Methode `setTime()` übergeben. Dadurch wird die Zeit auf einen Zeitpunkt in 100 Tagen gesetzt. Mit Hilfe entsprechender Befehle werden dann aus dem neu gesetzten Zeitpunkt die Werte für den Monatstag, den Monat und das Jahr ermittelt. Das Ergebnis wird in einem Meldungsfenster ausgegeben.

### Beachten Sie:

Die Browserangaben beziehen sich auf die Methode `getTime()` selbst. Das Beispiel verwendet getFullYear() zum Ermitteln des Jahres. Da diese Methode im Gegensatz zu getYear() von sehr alten Browsern nicht unterstützt wird, funktioniert das Beispiel nicht in allen Browsern, die `getTime()` kennen.

## setUTCDate()

Diese Methode ist funktional identisch mit setDate(). Der gesetzte Wert bedeutet jedoch nicht die lokale Zeit, sondern die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## setUTCFullYear()

Diese Methode ist funktional identisch mit setFullYear(). Der gesetzte Wert bedeutet jedoch nicht die lokale Zeit, sondern die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## setUTCHours()

Diese Methode ist funktional identisch mit setHours(). Der gesetzte Wert bedeutet jedoch nicht die lokale Zeit, sondern die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## setUTCMilliseconds()

Diese Methode ist funktional identisch mit setMilliseconds(). Der gesetzte Wert bedeutet jedoch nicht die lokale Zeit, sondern die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## setUTCMinutes()

Diese Methode ist funktional identisch mit setMinutes(). Der gesetzte Wert bedeutet jedoch nicht die lokale Zeit, sondern die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## setUTCMonth()

Diese Methode ist funktional identisch mit setMonth(). Der gesetzte Wert bedeutet jedoch nicht die lokale Zeit, sondern die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## setUTCSeconds()

Diese Methode ist funktional identisch mit setSeconds(). Der gesetzte Wert bedeutet jedoch nicht die lokale Zeit, sondern die Universal Coordinated Time (UTC), auch Greenwich Mean Time (GMT) genannt.

## setYear()

Ändert das Jahr, das in einem Datumsobjekt gespeichert ist. Die Jahreszahl ist als Parameter zu übergeben.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var Zeit = new Date();
    var AbsolutJetzt = Zeit.getTime();
    var Jahr = Zeit.getFullYear();
    Zeit.setYear(Jahr + 1);
    var AbsolutDann = Zeit.getTime();
    var Differenz = AbsolutDann - AbsolutJetzt;
    alert("bis zur gleichen Zeit in einem Jahr sind es " + Differenz + "ms");
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel gibt die Anzahl der Millisekunden vom aktuellen Zeitpunkt bis zum gleichen Zeitpunkt in einem Jahr aus. Zu diesem Zweck wird ein neues Datumobjekt `Zeit` mit dem aktuellen Zeitpunkt erzeugt. Der Absolutzeitpunkt in Millisekunden wird mit `getTime()` ermittelt und in der Variablen `AbsolutJetzt` gespeichert. Mit `getFullYear()` wird das aktuelle Jahr ermittelt. Dann wird der Zeitpunkt mit `setYear()` um ein Jahr in die Zukunft verschoben. Der neue Zeitpunkt in Millisekunden wird wieder mit `getTime()` ermittelt. Das Ergebnis wird in der Variablen `AbsolutDann` gespeichert. Durch die Differenz zwischen den gespeicherten Werten von `AbsolutDann` und `AbsolutJetzt` wird die Anzahl der Millisekunden bis zum gleichen Zeitpunkt in einem Jahr ermittelt. Das Ergebnis wird in einem Meldungsfenster ausgegeben.

### Beachten Sie:

Der Internet Explorer unterstützt `setYear()` bereits in Version 3. Im vorliegenden Beispiel wird allerdings `getFullYear()` verwendet, um die Jahreszahl korrekt auszulesen. Daher funktioniert das Beispiel erst ab Version 5.

## toGMTString()

Wandelt das in einem Datumsobjekt gespeicherten Datum in eine Zeichenkette nach dem IETF-Standard um. Das Datum wird als UTC-Zeitpunkt ausgegeben. Wenn im Datumsobjekt beispielsweise der 02.10.1991, 23:59:00 Uhr (Mitteleuropäische Zeit) gespeichert ist, liefert diese Methode zurück: `"Wed, 02 Oct 1991 22:59:00 GMT"`.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var Jetzt = new Date();
    alert(Jetzt.toGMTString());
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt `Jetzt` mit dem aktuellen Zeitpunkt. Dann gibt es das Ergebnis der Methode `Jetzt.toGMTString()` als Meldungsfenster aus. Beispiel einer Ausgabe:
`Wed, 11 Mar 1998 18:17:28 GMT` (Netscape)
`Wed, 11 Mar 1998 18:17:28 UTC` (Internet Explorer)

### Beachten Sie:

Die Sommerzeit wird von dieser Methode nicht berücksichtigt.

## toLocaleString()

Wandelt die in `Objektname` gespeicherten Daten in eine Zeichenkette um. Die zurückgegebene Zeichenkette berücksichtigt die lokale Uhrzeit. Wenn beispielsweise in `Objektname` der 2.10.1991 23:59:00 gespeichert ist, liefert diese Methode zurück: "10/2/91 23:59".

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    <script type="text/javascript">
    var Jetzt = new Date();
    alert(Jetzt.toLocaleString());
    </script>
    </head><body>
    </body></html>

### Erläuterung:

Das Beispiel erzeugt ein neues Datumobjekt `Jetzt` mit dem aktuellen Zeitpunkt. Dann gibt es das Ergebnis der Methode `Jetzt.toLocaleString()` als Meldungsfenster aus. Beispiel einer Ausgabe:
`03/11/1998 19:21:22`

## UTC()

Liefert die Anzahl Millisekunden zurück, die zwischen dem 01.01.1970 und einem gewünschten Zeitpunkt verstrichen sind. Der Zeitpunkt ist in Form von Parametern zu übergeben und es muss sich um einen UTC-Zeitpunkt handeln. Alle Parameter sind als Zahlenwerte zu übergeben. Die Angabe der Datumswerte ist zwingend, die der Uhrzeitwerte optional. Die Parameter im einzelnen:
1. Jahr = Jahreszahl.
2. Monat = Monatszahl zwischen 0 und 11.
3. Tag = Tageszahl zwischen 1 und 31.
4. Stunden = (optional) Stunde der Uhrzeit zwischen 0 und 23.
5. Minuten = (optional) Minuten der Uhrzeit zwischen 0 und 59.
6. Sekunden = (optional) Sekunden der Uhrzeit zwischen 0 und 59.

### Beispiel:

Anzeigebeispiel: So sieht's aus

    <html><head><title>Test</title>
    </head><body>
    <script type="text/javascript">
    document.write(Date.UTC(1998, 2, 11, 19, 26, 00));
    </script>
    </body></html>

### Erläuterung:

Das Beispiel schreibt mit `document.write()` die Anzahl der Millisekunden in die Datei, die zwischen dem 01.01.1970, 0:00 Uhr UTC, und dem 11.03.1998, 19:26 Uhr UTC vergangen sind.

| Function
| Boolean

© 2007 Impressum