Hier habe ich einmal zusammengefasst, welche Info sie aus dem Date()-Objekt herausziehen können und dabei den Variablen (hoffentlich) aussagekräftige Namen gegeben, die verdeutlichen sollen was dort letztendlich enthalten ist.
Ziel
Ich schaffe mir einen Pool an Variablen, auf die ich gegebenenfalls innerhalb meiner Seiten zurückgreifen kann. Sämtliche Datums- und Zeitinformationen sollen in unterschiedlichen Schreibweisen bereitgehalten werden.
Wenn sie diese Funktion nutzen, habe ich hier eine Variablenliste als PDF-Datei für ihre Arbeit. So behalten sie die Übersicht und können die Datums- oder Zeitanzeigen aus dem Script innerhalb ihrer Seite gezielt einsetzen.
Übersicht
Auf der Seite Datum Einführung 01 haben sie bereits gelesen, dass sie grundsätzlich mit einer Kopie des Datumsobjekts arbeiten. Danach können sie abhängig vom Verwendungszweck aus der Kopie die einzelnen Informationen ermitteln und z.B. in Variablen ablegen. Die Inhalte der Variablen sind in Rot abgebildet.
1) Datumsinformationen werden im Objekt Date() bereitgehalten
2) Start des Zählvorgangs war am 01.01.1970, 0:00:00 Uhr UTC
3) UTC steht für 'Coordinated Universal Time ' (Deutschland = UTC + 1 Stunde)
4) Gezählt wird in Millisekunden seit dem Start
Im Objekt Date() stehen also Datums- und Zeitinformationen bereit, die man kopieren und dann mit sehr vielen unterschiedlichen Funktionen auslesen und bearbeiten kann.
Das Objekt Date() 'gehört' dem System! Deshalb lassen wir auch die Finger davon und versuchen es nicht zu beeinflussen / zu ändern. Auslesen ist OK. Will man auf ein Datumsobjekt Einfluss nehmen, muss man schon eine eigene Kopie herstellen. Diese Kopie gehört uns! Damit dürfen wir arbeiten.
Für die nun folgenden Erklärungen verwende ich ein festes Datum!
Ich beginne natürlich zuerst damit eine Kopie des Objekts Date() zu erstellen.
Mit Absicht verwende ich hier zur Demonstartion einen Datumswert mit einstelligen Zahlenwerten für Tag und Monat. Der Grund wird ihnen weiter unter klar.
Sonntag 04.02.2007 8:07:05 Uhr
var Heute=new Date();
Danach entnehme ich mit verschiedenen Funktionen meine Datums- / Zeit-Werte:
neue Variable
var DieserMonatstag =
var DieserWochentag =
var DieserMonatNummmer =
var DiesesJahr4stellig =
var JetztStunden =
var JetztMinuten =
var JetztSekunden =
var JetztMillisekunden =
Um nun aus den Wert für 'DieserWochentag' eine echte Tagesbezeichnung zu erhalten, lege ich ein Register mit den Wochentagsnamen an und ordne den dort abgelegten Text dem ermittelten aktuellen Wert für den Tag zu.
Diese Aufgabe übernimmt die Funktion 'TagTxt()'
function TagTxt (zahl) {
var Tag=new Array();
Tag[0]="Sonntag";
Tag[1]="Montag";
Tag[2]="Dienstag";
Tag[3]="Mittwoch";
Tag[4]="Donnerstag";
Tag[5]="Freitag";
Tag[6]="Samstag";
return Tag[zahl];
}
var TagName=TagTxt(DieserWochentag);
Ich darf noch einmal daran erinnern, das er erste Tag der Woche der Sonntag ist, na ja, zumindest in den USA und bei JavaScript.
3 weitere Variablen sollen Texte für Wochentag und Monatsnamen in unterschiedlichen Schreibweisen bereitstellen. So wie oben für den Wochentag, verfahre ich also für diese 3 Zuordnungen. Die Info dazu können sie einblenden
Um nun aus den Wert für 'DieserWochentag' eine Tagesbezeichnung in Kurzform zu erhalten, lege ich ein Register mit den kurzen Wochentagsnamen an und ordne den dort abgelegten Text dem ermittelten aktuellen Wert für den Tag zu.
Diese Aufgabe übernimmt die Funktion 'TagTxtKurz()'
(hier habe ich das Register [Array] einmal anders definiert)
function TagTxtKurz (zahl) {
var TageK = new Array ("So","Mo","Di","Mi","Do","Fr","Sa");
return TageK[zahl];
}
var TagNameKurz=TagTxtKurz(DieserWochentag);
Ich darf noch einmal daran erinnern, das er erste Tag der Woche der Sonntag ist, na ja, zumindest in den USA und bei JavaScript.
Um nun aus den Wert für 'MonatNummmer' eine echte Monatsbezeichnung zu erhalten, lege ich ein Register mit den Monatssnamen an und ordne den dort abgelegten Text dem ermittelten aktuellen Wert für den Monat zu.
Diese Aufgabe übernimmt die Funktion 'MonatTxt()'
function MonatTxt (zahl) {
var Monat=new Array();
Monat[1]="Jan";
Monat[2]="Feb";
Monat[3]="Mär";
Monat[4]="Apr";
Monat[5]="Mai";
Monat[6]="Jun";
Monat[7]="Jul";
Monat[8]="Aug";
Monat[9]="Sep";
Monat[10]="Okt";
Monat[11]="Nov";
Monat[12]="Dez";
return Monat[zahl];
}
var MonatName=MonatTxt(DieserMonatNummmer);
Um nun aus den Wert für 'MonatNummmer' eine Monatsbezeichnung im Volltext zu erhalten, lege ich ein Register mit den voll ausgeschriebenen Monatssnamen an und ordne den dort abgelegten Text dem ermittelten aktuellen Wert für den Monat zu.
Diese neue Aufgabe übernimmt die Funktion 'MonatTxtVoll()'
function MonatTxtVoll (zahl) {
var Monat=new Array();
Monat[1]="Januar";
Monat[2]="Februar";
Monat[3]="März";
Monat[4]="April";
Monat[5]="Mai";
Monat[6]="Juni";
Monat[7]="Juli";
Monat[8]="August";
Monat[9]="September";
Monat[10]="Oktober";
Monat[11]="November";
Monat[12]="Dezember";
return Monat[zahl];
}
var MonatNameVoll=MonatTxtVoll(DieserMonatNummmer);
Zahlendarstellung zweistellig
Für den Fall der Fälle: Weil ich mir einen Pool an Datums- und Zeitinformationen herstellen möchte auf den ich gegebenenfalls zurückgreifen kann, entschied ich mich einige Werte die als Zahlendarstellung zurückgegeben werden, in zweistelligem Format bereitzuhalten. Wozu? Zum Beispiel damit ich um 3 nach 9 die Uhrzeit als 9:03 Uhr und nicht als 9:3 Uhr anzeigen kann.
Das bedeutet: Bei einstelligem Ergebnis eine Null voranzustellen.
Wenn 'Zahlenwert' kleiner 10 ist
dann ist 'ZahlZweistellig' = "0" + 'Zahlenwert'
wenn nicht
dann ist 'ZahlZweistellig' = "" + 'Zahlenwert'
Wie das im Einzelnen umgesetzt wurde, entnehmen sie der Textdatei. Jedenfalls gibt es nun noch einmal 5 weitere Variablen, die den zweistelligen Zahlenwert für Tag, Monat, Stunden, Minuten und Sekunden beinhalten.
Mein Pool an Datums- und Zeitvariablen
Duch diese Zuordnungen von Text und zweistelligen Zahlendarstellungen habe ich nun 9 weitere Variablen in meiner Sammlung:
var DieserMonatstag
var DieserWochentag
var DieserMonatNummmer
var DiesesJahr4stellig
var JetztStunden
var JetztMinuten
var JetztSekunden
var JetztMillisekunden
var DieserMonatstag2
var DieserMonatNummmer2
var JetztStunden2
var JetztMinuten2
var JetztSekunden2
var TagName
var TagNameKurz
var MonatNameVoll
var MonatName
So das wars fürs Erste. Ich denke eine solche Übersicht hilft, die Funktionen besser zu verstehen.
Diese Seite hatte ich am 26.02.2007 um 00:15 Uhr erst mal abgeschlossen. "Wenn mir noch etwas dazu einfällt (und das ist meistens so), werde ich das später ergänzen", hatte ich behauptet. Wie sie am Update sehen, ist das auch so. Es lohnt also ab und an noch einmal vorbeizuschauen.
16.03.2007, Erweiterung zweistellige Zahlendarstellung für Tag, Monat, Std, Min, Sec
15.03.2007, Variablenliste als PDF
... natürlich müssen die Zeitfunktionen noch vervollständigt werden.
Wie sie nun im Einzelfall vorgehen und wie sie die Informationen aus den Variablen einsetzen, bleibt ihnen überlassen (Liste der Variablen als PDF: rechts). Sie können das gesamte Script, das sämtliche Informationen als Variablen bereithält, einbinden und im Dokument lediglich den Variableninhalt der Informationen schreiben lassen. Bsp.:
oder eine eigene Funktion nach meinem Beispiel einsetzen:
<script type="text/javascript" language="JavaScript">
<!--
var Datum = new Date();
var Jahr = Datum.getFullYear();
document.write("Ergebnis: " + Jahr);
//-->
</script>
Grundsätzliche Erklärungen zum date()-Objekt und was JavaScript für sie bereithält, finden sie auf der Seite
Wie sie die Informationen aus dem Variablen-Pool dieser Seite einsetzen können, z.B. zur Darstellung des Datums in unterschiedlichen Schreibweisen, lesen sie auf dieser Seite: