brauchbar.de - WebDesign, Programmierung,Development in HTML, CSS, Javascript, PHP, Perl und mehr

[ Startseite | Artikel : HTML · JavaScript · CSS · Perl · Usability · Sonstiges | Services | Über ]


verwandte Artikel und Seiten

JS: Natürlichsprachliche Darstellung des Datums

von Thomas Salvador.

In der vorherigen Ausgabe wurden die Routinen vorgestellt, die JavaScript bereitstellt, um mit Daten und Zeiten umzugehen.

Hier wollen wir eine Routine schaffen, die eine Darstellung wie etwa "Heute ist Freitag, der 4. April 1997" erlaubt. Sie ahnen es bereits: in JavaScript ist das wirklich kein Problem, denn mit den Methoden getMonth() bzw. getDay() stellt JavaScript bereits eine (interne) Darstellung zur Verfügung.

Wir müssen also nur eine externe Darstellung erzeugen. Hierzu bieten sich Felder an. Zunächst brauchen wir ein Feld, welches die Monatsnamen enthält. Dies können wir so machen:

function gMon() {
  this[0] = 'Januar';
  this[1] = 'Februar';
  this[2] = 'März';
  this[3] = 'April';
  this[4] = 'Mai';
  this[5] = 'Juni';
  this[6] = 'Juli';
  this[7] = 'August';
  this[8] = 'September';
  this[9] = 'Oktober';
  this[10] = 'November';
  this[11] = 'Dezember';
}

var monNames = new gMon();

Sie erinnern sich, dass getMonth() den Wertebereich 0..11 hat. Dies wird hier konsequent ausgenutzt.

Warum das Beginnen bei 0 durchaus Sinn macht (neben dem effizienteren, compiliertem Code), wird klar, wenn wir diese Definition mit Hilfe von Array() schaffen:

var monNames = new Array('Januar', 'Februar', 'März',
                         'April', 'Mai', 'Juni',
                         'Juli', 'August', 'September',
                         'Oktober', 'November', 'Dezember');

Kurz und schmerzlos, recht elegant und platzsparend (man bedenke, dass das ganze Script zu den Benutzern übertragen wird). Die so erzeugen Felder sind zero-based, d.h. haben ihr erstes Element bei Index 0.

Völlig analog schaffen wir ein Feld mit Tagesnamen:

var dayNames = new Array('Sonntag', 'Montag', 'Dienstag', 'Mittwoch',
                         'Donnerstag', 'Freitag', 'Samstag');

Schließlich implementieren wir noch eine kleine Hilfsfunktion, die die JavaScript-Jahreszahl in eine "echte" wandelt, also etwa 1997 aus 97 macht:

Sie erinnern sich, dass JavaScript-Jahreszahlen erst ab dem Jahre 2000 vier- und vorher zweistellig sind. t4() normiert das.

function t4(y) {
  return (y < 1000 ? y+1900 : y);
}

Und das war es auch schon!

Beispiel:

<script type="text/javascript"><!--
  var now = new Date();
  document.write('Heute ist ', dayNames[now.getDay()]);
  document.write(', der ', now.getDate());
  document.write('. ', monNames[now.getMonth()]);
  document.write(' ', t4(now.getYear()));
// -->
</script>

liefert


Verwandte Artikel und Seiten



brauchbar web
Diese Site anlinken. Artikel zu CSS | HTML | JavaScript | Perl | Usability | Sonst. | nach Ausgabe.

Copyright © 1999-2015 Thomas Salvador und brauchbar.de . Alle Rechte vorbehalten. Gehostet bei all-inkl.
Reproduktion, ganz oder in Teilen, nur mit schriftlicher Zustimmung von Thomas Salvador. Impressum · Datenschutzerklärung · Kontakt.

zum Inhaltsverzeichnis der 3. Ausgabe.

Linken Sie bitte zu der festen Adresse http://www.brauchbar.de/wd/artikel/18.html .