Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Download: - ZIP, ca. 9,2 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Computing / <openbook> / JavaScript und AJAX | vor >>
JavaScript und AJAX von Christian Wenz Das umfassende Handbuch
JavaScript und AJAX 839 S., mit DVD, 39,90 Euro Galileo Computing ISBN 3-89842-859-1 |
| Kapitel 5 Datum
|  | 5.1 Tagesdatum
|  | 5.2 Y2K
|  | 5.3 Mit Daten rechnen
|  | 5.4 Lokales Datumsformat
## 5.2 Y2K Auch JavaScript war von dem legendären Jahr-2000-(Y2K-)Problem betroffen, allerdings ist das hier nicht so schlimm wie in weiten Teilen der Wirtschaft. Probleme bereiten hier (natürlich) wieder Browser von anno Tobak. Die Krux liegt in der Methode getYear(). Je nach Browser werden manche Jahre anders interpretiert. Die folgende Tabelle zeigt auf, welche Rückgabewerte die verschiedenen JavaScript-Versionen bei den jeweiligen Zeiträumen vorschreiben. Dabei bedeutet »volle Jahreszahl« eine vierstellige Jahreszahl (außer natürlich bei Jahreszahlen vor 1000); »kurze Jahreszahl« bedeutet eine zweistellige Jahreszahl im 20. Jahrhundert, also etwa »99« statt »1999«.

Tabelle 5.2 Die Behandlung von Jahreszahlen in den verschiedenen JavaScript-Versionen

Zeitraum | JS 1.0 | JS 1.1/1.2 | JS 1.3 und höher
<1970 | Nicht unterstützt | Volle Jahreszahl | Jahreszahl minus 1900 (1800 wird durch –100 dargestellt)
1970...1999 | Jahreszahl minus 1900 | Kurze Jahreszahl | Jahreszahl minus 1900
³2000 | Jahreszahl minus 1900 | Volle Jahreszahl | Jahreszahl minus 1900
In der Praxis ist das nicht viel wert, weil beispielsweise der Internet Explorer 5/6 sich nicht an die Vorgaben hält und im Jahr 2002 als Jahreszahl auch tatsächlich 2002 zurückgibt (und nicht etwa 102). Die vorherige Tabelle wirkt zudem etwas einschüchternd. Ist es etwa nötig, mühsam eine Fallunterscheidung nach JavaScript-Versionen durchzuführen? In der Praxis gibt es glücklicherweise einen relativ einfachen Ausweg. Üblicherweise liegen alle verwendeten Daten im Bereich von 1970 bis ins 21. Jahrhundert hinein. Eine Jahreszahl kleiner als 200 ist also um 1900 zu niedrig; andere Jahreszahlen sind – nehmen wir einfach einmal an – korrekt. Man kann also eine Funktion schreiben, die das Y2K-sichere Jahr zurückgibt:
    function getYearY2K(d) {
       var y = d.getYear();
       if (y < 200) {
          return y + 1900;
       } else {
          return y;
       }
    }
Ab JavaScript 1.3 (also in allen aktuellen Browsern) gibt es eine Methode getFullYear(), die grundsätzlich kein verkürztes Datum zurückgibt, sondern stets die volle Jahreszahl. Alle Browser, die heute eine messbare Verbreitung haben, sollten diese Methode unterstützen. Eine Alternative besteht darin, ein eigenes Datumsobjekt zu schreiben; das nötige Rüstwerkzeug bekommen Sie in Kapitel 13.
<< zurück | <top> | vor >>
Zum Katalog
JavaScript und AJAX bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| JavaScript und AJAX - Das Video-Training
| Webseiten programmieren und gestalten
| XHTML, HTML und CSS
| CSS-Praxis
| AJAX
| PHP 5 und MySQL 5
| TYPO3 4.0
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Computing]
Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de