Freitag der 13.
Das folgende JavaScript berechnet, wann wieder Freitag der 13. ist.
NeuesDatum = FreitagDer13(StartDatum)
StartDatum |
Gültiges Datum oder null oder leerer String (""). |
NeuesDatum |
Rückgabewert. Datum des nächsten Freitags, der auf das StartDatum
folgt. Die Art der Datumsanzeige ist vom Browser abhängig. |
- Das Format von
StartDatum
und NeuesDatum
ist vom Browser
abhängig.
- Das Datum muß im Format der lokalen Zeitzone übergeben werden.
- Wird kein Datum (null oder "") eingegeben, verwendet das Skript das aktuelle
Datum der Systemuhr als
StartDatum
.
Das folgende Formular demonstriert die Wirkung der Funktion.
<SCRIPT LANGUAGE="JavaScript1.1" TYPE="text/javascript"><!--
// Unterprogramm Datumszaehler: Erhoeht das Datum um 1 Monat
function MonatPlus1(DatumsObjekt)
{ // Erstellt von Ralf Pfeifer (www.arstechnica.de)
if (DatumsObjekt.getMonth() == 11)
{ // Jahreswechsel
DatumsObjekt.setMonth(0); // Setze Monat = Januar
// Jahr um 1 erhoehen - Vorsicht, seltsame
// Datumsformate der verschiedenen Browser
var Jahr = DatumsObjekt.getYear()
if (Jahr < 1000) { Jahr += 1900; }
DatumsObjekt.setYear(Jahr + 1);
}
else // Naechster Monat
{ DatumsObjekt.setMonth(Datum.getMonth() +1 ); }
}
// Hauptprogramm
function FreitagDer13(StartDatum)
{ // Erstellt von Ralf Pfeifer (www.arstechnica.de)
if ((StartDatum == "") || (StartDatum == null))
{ Datum = new Date(); }
else
{ Datum = new Date(Date.parse(StartDatum)); }
if (Datum.getDate() >= 13) { MonatPlus1(Datum); }
Datum.setDate(13);
while (Datum.getDay() != 5) { MonatPlus1(Datum); }
Ergebnis = Datum.toLocaleString()
// Uhreit aus dem Datum entfernen
Ergebnis = Ergebnis.substring(0, Ergebnis.length - 9);
return Ergebnis; } // -->
</SCRIPT>