JavaScript/Objekte/Date

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche

Das Objekt Date ist für alle Berechnungen mit Datum und Zeit zuständig.

Dabei gibt es, wie in der IT ü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.

[Bearbeiten] Allgemeines zur Verwendung

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.

Beispiel

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);

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
<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>

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.

[Bearbeiten] Weblinks

Meine Werkzeuge
Namensräume

Varianten
Aktionen
Übersicht
Schnell‑Index
Mitmachen
Werkzeuge
Spenden
SELFHTML