| Datumsfunktionen |
| Tutorials - Tutorials | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
DatumsfunktionenDas Objekt Date aufrufenAnders als z.B. das Objekt Math muß das Objekt Date aufgerufen ("eine Instanz erzeugt") werden, bevor Datumsberechnungen mit aktuellen Daten stattfinden können. Beim Aufruf wird das aktuelle Datum mit der Uhrzeit zusammen einer Variablen zugewiesen, deren Name frei wählbar ist, deren Inhalt aber mit dem erfolgten Aufruf festliegt, die Zeit läuft also im Variablenwert nicht weiter. Wenn Datums- bzw. Zeitrechnungen beabsichtigt sind, beginne man das JavaScript mit dem folgenden Eintrag. 'datum' ist hier der Variablenname, er könnte auch 'Xanthippe' heißen:
Danach kann auf das Datum zugegriffen werden. Im Kopf dieser Seite ist das aktuelle Datum zu sehen. Die erste Anzeige wurde erreicht, indem nach der Überschrift mit dem <script>-Tag die folgende Codezeile eingefügt wurde:
Interessant ist die Schreibweise des Datums, wie sie durch new Date() erzeugt wird. Hier tut jeder Browser im Verein mit dem Betriebssystem, was er will. Die Zeitzonenangabe erinnert daran, daß JavaScript für das Internet erfunden wurde.
Was da auf Ihrem Browser angezeigt wird, soll von der Ländereinstellung Ihres Rechners abhängen. Aber von welcher? Methoden zur Datums- und Zeitbestimmung
Die Aufrufe, die in beiden Tabellen die rechte Spalte mit aktuellen Werten füllen, sollen kurz erläutert werden. Die get-Methoden gelten alle für den Aufrufzeitpunkt der Seite. Diese Aufrufe lauten (am Beispiel des ersten gezeigt):
Die set-Methoden werden auf eine Instanz des Date-Objektes angewandt, die nicht etwa die Systemzeit des Rechners verstellt, sondern dazu dient, Zeitdifferenzen berechnen zu können. Damit löst man so wichtige Fragen, wie z. B. die nach dem Zeitabstand zwischen Seitenaufruf und dem Jahrtausendwechsel. Um die Eingabebedingungen zu testen, sind Eingaben und Ergebniswerte gegeneinander gestellt. Die Aufrufe sind entsprechend modifiziert:
DatumsberechnungenWie lange schon?Wie lange leben wir nun im 3. Jahrtausend? Eine gültige Anzeige müßte dauernd erneuert werden. Deshalb bestimmen wir die Zeit beim Tastendruck: Was, Sie wundern sich? Demnach gehören Sie auch zu den Leuten, die beim Zählen ihrer Finger mit "0" anfangen und erstaunt sind, wenn ihnen einer fehlt.
Zur Erläuterung: Bei der Bestimmung der Gesamtzeit (gesamt in ms) wird die Umwandlung in GMT verlangt. Ein Test ergab allerdings, daß JavaScript ohnehin mit GMT rechnet. Das ist deshalb von Bedeutung, weil die lokale Zeit ja mit Sommerzeit-Problemen behaftet ist. Komisch ist allerdings, daß die Anzeige der frischen Date-Instanz (erste Zeile dieser Seite) bereits in lokaler Zeit erfolgt. ZeitberechnungWie lange ist der Nutzer schon auf der Seite?Es ist evtl. nützlich, aber wiederum nicht unbedingt ratsam, dem Leser anzuzeigen, wie lange er auf meiner Seite weilt. Es geht, wenn man es denn will, um die Berechnung der Zeitdifferenz zwischen Öffnen der Seite und dem laufenden Zeitpunkt.
Kurzer Kommentar. Es wird das Startdatum ermittelt, weil es später als Bezug gebraucht wird. Dann folgt eine Funktionsdefinition. Schließlich wird ein Timer gestartet, der nach einer Sekunde die Funktion aufruft. Diese ermittelt und schreibt nun die abgelaufene Zeit. Wohin? Nuh dah, würde der Sachse sagen und was anderes meinen:
Nun darf man ja mal über Umständlichkeiten nachdenken. Geht es nicht auch einfacher? Da der Timer im Sekundentakt arbeiten kann, kann der Zähler auch ohne das Datumsobjekt arbeiten. Wie sähe es dann aus? Ganz gut, allerdings geht die neue Zählung etwas nach. Obwohl die neue Wartezeit sofort am Funktionsbeginn eingeläutet wird, bleibt dieser Zähler zurück. Ein Nutzer, der nur diesen vorfindet, würde das allerdings kaum merken.
Dieses Tutorial wurde bereitgestellt von Prof. Dr. Rolf Hirte, Technische Fachhochschule Wildau. Vielen Dank an dieser Stelle!
Viel Spass beim Lernen und beim Erstellen eigener JavaScripts. Solltet ihr ein nützliches Script entwerfen, von dem ihr meint dass es gut auf diese Seite passen würde, dann sendet es doch einfach ein :-) |

