Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
| Date | Bearbeitet Datums- und Uhrzeitwerte |
new Date( ) new Date(millisekunden) new Date(datumsstring) new Date(jahr, monat, tag, stunden, minuten, sekunden, ms)
Wenn man ihn ohne Argumente aufruft, erzeugt der Konstruktor Date( ) ein Date-Objekt, das auf das heutige Datum und die momentane Uhrzeit eingestellt ist. Übergibt man ihm ein numerisches Argument, so wird dieses als eine interne, numerische Datumsdarstellung in Millisekunden betrachtet, wie sie von der Methode getTime( ) zurückgegeben wird. Wird ihm ein String-Argument übergeben, so handelt es sich um eine String-Darstellung eines Datums in einem Format, das die Methode Date.parse( ) akzeptiert. Andernfalls werden dem Konstruktor zwei bis sieben numerische Argumente übergeben, die die Inhalte der einzelnen Datums- und Uhrzeitfelder angeben. Alle außer den ersten beiden Argumenten (Jahr und Monat) sind optional. Beachten Sie, dass diese Datums- und Uhrzeitfelder in der Ortszeit und nicht in UTC (ähnlich wie GMT) spezifiziert werden. Eine Alternative finden Sie unter der statischen Methode Date.UTC( ).
Date( ) kann auch als Funktion ohne den Operator new aufgerufen werden. Dann ignoriert Date( ) alle übergebenen Argumente und gibt eine String-Darstellung des heutigen Datums und der Uhrzeit zurück.
millisekunden
Die Anzahl der Millisekunden zwischen dem gewünschten Datum und dem 1. Januar 1970 um Mitternacht (UTC). Wenn Sie z.B. das Argument 5000 übergeben, so würde ein Datum angelegt, das den Zeitpunkt fünf Sekunden nach Mitternacht am 01.01.1970 repräsentiert.
datumsstring
Ein einzelnes Argument, das das Datum und optional auch die Uhrzeit als String angibt. Der String sollte ein Format haben, das von Date.parse( ) akzeptiert wird.
jahr
Das vierstellig angegebene Jahr. Für das Jahr 2002 geben Sie z.B. 2002 an. Wenn das Argument zwischen 0 und 99 liegt, wird aus Gründen der Kompatibilität zu Vorläuferimplementierungen von JavaScript 1900 hinzuaddiert.
monat
Der Monat, angegeben als Integer zwischen 0 (Januar) und 11 (Dezember).
tag
Der Tag des Monats, angegeben als Integer zwischen 1 und 31. Beachten Sie, dass dieses Argument 1 als kleinsten Wert verwendet, während andere Argumente 0 als kleinsten Wert haben. Optional.
stunden
Die Stunde, angegeben als Integer zwischen 0 (Mitternacht) und 23 (elf Uhr nachts). Optional.
minuten
Die Minuten einer Stunde, angegeben als Integer zwischen 0 und 59. Optional.
sekunden
Die Sekunden der Minute, angegeben als Integer zwischen 0 und 59. Optional.
ms
Die Millisekunden der Sekunde, angegeben als Integer zwischen 0 und 999. Optional.
Das Date-Objekt hat keine Eigenschaften, die unmittelbar gelesen und geschrieben werden können. Jeglicher Zugriff auf Datums- und Uhrzeitwerte erfolgt über Methoden. Die meisten Methoden des Date-Objekts haben zwei Formen: eine, die mit der Ortszeit arbeitet, und eine, die mit der Universalzeit (UTC oder GMT) arbeitet. Hat eine Methode den Begriff »UTC« im Namen, dann arbeitet sie mit der Universalzeit. Die Methodenpaare sind nachfolgend aufgelistet. Das Listing für get[UTC]Day( ) bezieht sich beispielsweise auf die beiden Methoden getDay( ) und getUTCDay( ).
Datumsmethoden können nur auf Date-Objekten aufgerufen werden, und sie lösen bei jedem Versuch, sie auf einem anderen Objekttyp aufzurufen, eine TypeError-Exception aus.
get[UTC]Date( )
Gibt den Monatstag eines Date-Objekts in Ortszeit oder Universalzeit zurück.
get[UTC]Day( )
Gibt den Wochentag eines Date-Objekts in Ortszeit oder Universalzeit zurück.
get[UTC]FullYear( )
Gibt das Jahr des Date-Objekts mit vier Ziffern in Orts- oder Universalzeit zurück.
get[UTC]Hours( )
Gibt das Stundenfeld eines Date-Objekts in Ortszeit oder Universalzeit zurück.
get[UTC]Milliseconds( )
Gibt das Millisekunden-Feld eines Date-Objekts in Ortszeit oder Universalzeit zurück.
get[UTC]Minutes( )
Gibt das Minutenfeld eines Date-Objekts in Ortszeit oder Universalzeit zurück.
get[UTC]Month( )
Gibt das Monatsfeld eines Date-Objekts in Ortszeit oder Universalzeit zurück.
get[UTC]Seconds( )
Gibt das Sekundenfeld eines Date-Objekts in Ortszeit oder Universalzeit zurück.
getTime( )
Gibt die interne Millisekundendarstellung eines Date-Objekts zurück. Beachten Sie, dass dieser Wert nicht von der Zeitzone abhängt und daher keine separate getUTCTime( )-Methode vorhanden ist.
getTimezoneOffset( )
Gibt die Differenz zwischen der Ortszeit- und der UTC-Darstellung dieses Datums in Minuten zurück. Der Rückgabewert hängt auch davon ab, ob zu dem angegebenen Datum Sommer- oder Winterzeit gilt.
getYear( )
Gibt das Jahresfeld eines Date-Objekts zurück. Ist für veraltet erklärt worden. Man verwendet stattdessen getFullYear( ).
set[UTC]Date( )
Setzt im Datum den Tag des Monatsfelds entweder in Ortszeit oder in Universalzeit.
set[UTC]FullYear( )
Setzt das Jahr (und optional auch Monat und Tag) des Datums entweder in Ortszeit oder in Universalzeit.
set[UTC]Hours( )
Setzt die Stunde (und optional die Felder für Minuten, Sekunden und Millisekunden) des Datums entweder in Ortszeit oder in Universalzeit.
set[UTC]Milliseconds( )
Setzt das Millisekundenfeld eines Datums entweder in Ortszeit oder in Universalzeit.
set[UTC]Minutes( )
Setzt das Minutenfeld (und optional die Felder für Sekunden und Millisekunden) eines Datums entweder in Ortszeit oder in Universalzeit.
set[UTC]Month( )
Setzt das Monatsfeld (und optional den Tag des Monats) eines Datums entweder in Ortszeit oder in Universalzeit.
set[UTC]Seconds( )
Setzt das Sekundenfeld (und optional das Millisekundenfeld) eines Datums entweder in Ortszeit oder in Universalzeit.
setTime( )
Setzt die Felder eines Date-Objekts im Millisekunden-Format.
setYear( )
Setzt das Jahresfeld eines Date-Objekts. Heute verwendet man dafür setFullYear( ).
toDateString( )
Gibt einen String zurück, der den Datumsteil eines Datums in der lokal gültigen Zeitzone ausdrückt.
toGMTString( )
Konvertiert ein Date-Objekt in einen String und verwendet dazu die GMT-Zeitzone. Heute verwendet man dafür toUTCString( ).
toLocaleDateString( )
Gibt einen String zurück, der den Datumsteil des Datums repräsentiert. Er wird in Ortszeit im lokal üblichen Datumsformat ausgedrückt.
toLocaleString( )
Konvertiert ein Date-Objekt in einen String und verwendet dazu die Ortszeit und das lokal übliche Datumsformat.
toLocaleTimeString( )
Gibt einen String zurück, der den Uhrzeitteil des Datums repräsentiert, und verwendet dazu die Ortszeit und das lokal übliche Datumsformat.
toString( )
Konvertiert ein Date-Objekt in einen String und verwendet dazu die Ortszeit.
toTimeString( )
Gibt einen String zurück, der den Uhrzeitteil des Datums repräsentiert, und verwendet dazu die Ortszeit.
toUTCString( )
Konvertiert ein Date-Objekt in einen String und verwendet dazu die Universalzeit.
valueOf( )
Konvertiert ein Date-Objekt in sein internes Millisekundenformat.
Neben den vielen bereits aufgeführten Instanzmethoden definiert das Date-Objekt auch zwei statische Methoden. Diese werden über den Date( )-Konstruktor und nicht über einzelne Date-Objekte aufgerufen:
Date.parse( )
Parst eine String-Darstellung von Datum und Uhrzeit und gibt die interne Millisekundendarstellung des betreffenden Datums zurück.
Date.UTC( )
Gibt die Millisekundendarstellung der UTC-Datums- und Uhrzeitangaben zurück.
Das Date-Objekt ist ein eingebauter Datentyp von JavaScript. Date-Objekte werden mit der Schreibweise new Date( ) erzeugt, die Sie weiter oben finden.
Wenn Sie ein Date-Objekt erzeugt haben, dann stehen Ihnen etliche Methoden zur Verfügung, um auf diesem zu arbeiten. Mit den meisten dieser Methoden können Sie einfach nur die Felder, die das Objekt für Jahr, Monat, Tag, Stunde, Minute, Sekunde und Millisekunde hat, mit Werten versehen. Sie verwenden dazu entweder die Ortszeit oder UTC (Universalzeit oder GMT). Die Methode toString( ) und ihre Varianten konvertieren Datumswerte in Strings, die für Menschen lesbar sind. getTime( ) und setTime( ) konvertieren aus der und in die interne Darstellung des Date-Objekts, geben also die Anzahl der Millisekunden seit Mitternacht (GMT) am 1. Januar 1970 an. In diesem standardmäßigen Millisekundenformat stellt ein einziger Integer das Datum und die Uhrzeit dar, was Rechenoperationen mit dem Datum extrem vereinfacht. Der ECMAScript-Standard verlangt, dass das Date-Objekt in der Lage sein muss, jedes Datum und jede Uhrzeit von hundert Millionen Tagen vor bis hundert Millionen Tage nach dem 1.1.1970 millisekundengenau darzustellen. Da dieses Zeitintervall rund 273.785 Jahre beträgt, wird die Uhr von JavaScript bis zum Jahr 275755 problemlos laufen.
Auf einem Date-Objekt können Sie mit einer Vielzahl von Methoden arbeiten:
d = new Date( ); // Hole das aktuelle Datum samt Uhrzeit
document.write('Wir haben den: ' + d.toLocaleDateString( ) + '. '); // Zeige Datum
document.write('Die Uhrzeit ist: ' + d.toLocaleTimeString( )); // Zeige Uhrzeit
var dayOfWeek = d.getDay( ); // Wochentag?
var weekend = (dayOfWeek == 0) || (dayOfWeek == 6); // Wochenende?
Das Date-Objekt wird auch oft dazu genutzt, die Millisekundendarstellung des jetzigen Zeitpunkts von einem anderen Zeitpunkt zu subtrahieren, um die Zeitspanne zwischen den beiden zu ermitteln. Das folgende clientseitige Beispiel zeigt zwei solche Anwendungen:
<script language="JavaScript">
today = new Date( ); // Notiere das heutige Datum
christmas = new Date( ); // Hole ein Datum dieses Jahres
christmas.setMonth(11); // Setze den Monat auf Dezember ...
christmas.setDate(24); // und den Tag auf den 24.
// Wenn Weihnachten noch nicht vorbei ist, berechne die Anzahl der
// Millisekunden von jetzt bis Weihnachten, konvertiere das
// in die Anzahl der Tage, und gib eine Nachricht aus.
if (today.getTime( ) < christmas.getTime( )) {
difference = christmas.getTime( ) - today.getTime( );
difference = Math.floor(difference / (1000 * 60 * 60 * 24));
document.write('Nur noch ' + difference + ' Tage bis Weihnachten!<p>');
}
</script>// ... hier kommt der Rest des HTML-Dokuments hin ...
<script language="JavaScript">
// Hier verwenden wir Date-Objekte zur Zeitmessung
// Wir teilen durch 1000, um aus Millisekunden Sekunden zu machen
now = new Date( );
document.write('<p>Es dauerte ' +
(now.getTime( )-today.getTime( ))/1000 +
'Sekunden, diese Seite zu laden.');
</script>Date.parse( ), Date.UTC( )