Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-859-1
gp Kapitel 5 Datum
  gp 5.1 Tagesdatum
  gp 5.2 Y2K
  gp 5.3 Mit Daten rechnen
  gp 5.4 Lokales Datumsformat


Rheinwerk Computing

5.2 Y2K  toptop

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
  
  Zum Rheinwerk-Shop
Neuauflage: JavaScript
Neuauflage: JavaScript
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Einstieg in JavaScript






 Einstieg in JavaScript


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern