leider bin ich mit meinen Javascript Kenntnissen noch imme rnicht weit genug (aber ich arbeite daran). Ist in A LCD ja doch nochmal schwieriger, das einzubinden.
Folgendes Problem:
In einem Formular habe ich 2 Datumsfelder. Das erste muss ausgewählt werden, das zweite zeigt dann automatisch das gewählte datm plus 3 Monate an
(z.b. Feld 1 = 07.02.2014, dann wird in Feld 2 = 07.05.2014 ausgegeben). Die Tage dazwischen lasse ich dann auszählen.
Jetzt muss das Formular so geändert werden, dass, wenn das automatische Datum aus Feld 2 ein Samstag, sonntag oder Feiertag ist, dann muss bis zum nächsten werktag gerechnet werden.
Zur Berechnung der Feiertage habe ich dieses Skript entdeckt:
Code: Alles auswählen
[code] function OsterSonntag(Jahr, TagesDifferenz) { // Erstellt von Ralf Pfeifer (www.arstechnica.de) // Falls kein Datum angegeben, aktuelles Jahr verwenden. if ((Jahr == "") || (Jahr == null)) { Jahr = new Date().getYear() } // Falls ausserhalb des gültigen Datumsbereichs, kein Ergebnis zurueckgeben if ((Jahr < 1970) || (2099 < Jahr)) { return "Datum muss zwischen 1970 und 2099 liegen"; } // Falls keine TagesDifferenz angegeben, TadgesDifferenz auf 0 setzen. if ((TagesDifferenz == "") || (TagesDifferenz == null)) { TagesDifferenz = 0; } var a = Jahr % 19; var d = (19 * a + 24) % 30; var Tag = d + (2 * (Jahr % 4) + 4 * (Jahr % 7) + 6 * d + 5) % 7; if ((Tag == 35) || ((Tag == 34) && (d == 28) && (a > 10))) { Tag -= 7; } var OsterDatum = new Date(Jahr, 2, 22) // 86400000 = 24 h * 60 min * 60 s * 1000 ms // Die Zahl 86400000 nicht ausklammern, sonst gibt's Probleme bei der Typumwandlung !! OsterDatum.setTime(OsterDatum.getTime() + 86400000 * TagesDifferenz + 86400000 * Tag) // Uhrzeit aus dem Datum entfernen OsterDatum = OsterDatum.toLocaleString() OsterDatum = OsterDatum.substring(0, OsterDatum.length - 9); return OsterDatum; } // -->
[/code]