NEWS
[gelöst] Adventssonntage ermitteln
-
Hi zusammen.
Wie kann ich mit hilfe eines Skriptes Adventssonntage als Trigger ermitteln?
Ich möchte nen digitalen Adventskranz bauen und da würde ich die jährlichen Adventssonntage als Auslöser benötigen.
Kann mir da vielleicht jemand weiterhelfen?
Gruß
Johnny
-
Hi,
schau Dir mal den Feiertage-Adapter viewtopic.php?t=2754 an. Der schreibt, soweit ich es im Kopf habe, den aktuellen Feiertag in einen Datenpunkt auf den Du dann triggern könntest. AFAIK konnte man im Adapter auch die Feiertage einstellen, die man gerne hätte und die Adventsonntage waren auch dabei.
Gruss, Jürgen
-
Hallo,
ich freue mich natürlich über jede Installation des Feiertage Adapters.
Wer es ohne Adapter machen will, kann dieses kleine Skript nehmen. Es basiert wesentlich auf dem Skript im Adapter. Es prüft, ob in der Woche vor dem 1. Weihnachtstag ein Sonntag liegt und setzt ihn als 4. Advent. Der dritte Advent ist entsprechend 7 Tage davor, der zweite 14 Tage davor, … alles wird natürlich nur für das aktuelle Jahr berechnet.
! ````
var jetzt = new Date(); // Dieses Jahr
var year = jetzt.getFullYear();
var christmas1 = new Date(year, 11, 25, 0, 0, 0);
var advent4date = new Date(christmas1.getTime() - (((christmas1.getDay() === 0) ? 7 : christmas1.getDay()) * (24 * 60 * 60 * 1000)));
var advent3date = new Date(christmas1.getTime() - (((christmas1.getDay() === 0) ? 7 : christmas1.getDay() +7) * (24 * 60 * 60 * 1000)));
var advent2date = new Date(christmas1.getTime() - (((christmas1.getDay() === 0) ? 7 : christmas1.getDay() + 14) * (24 * 60 * 60 * 1000)));
var advent1date = new Date(christmas1.getTime() - (((christmas1.getDay() === 0) ? 7 : christmas1.getDay() + 21) * (24 * 60 * 60 * 1000)));
! log("4. Advent: " + advent4date);
log("3. Advent: " + advent3date);
log("2. Advent: " + advent2date);
log("1. Advent: " + advent1date);Gruß Pix
-
Hi Ihr beiden!
Erstmal Danke für eure Antwort.
Der Feiertagsadapter ist zwar interessant aber für meine Zwecke doch dann zuviel des guten.
Möchte nur die Adventskerzen damit steuern und da ist dann das Skript von Pix genau das was ich gesucht habe.
Funktioniert perfekt.
Danke euch beiden
Gruß
Johnny
-
Hallo Johnny,
das Skript in dieser Form kommt von jensmaus. Will ich hier nicht unerwähnt lassen 8-)
Ich frage mich aber trotzdem, ob es für diese Anwendung nicht einfacher wäre, kurz im Kalender die vier Tage für dieses Jahr rauszusuchen und dann per Schedule auszulösen. Du musst ja die Uhrzeit auch noch als Trigger setzen.
schedule("30 15 2 12 0", function() { // 2.12\. jedes Jahr (wenn Sonntag) log("Es ist der 1\. Advent 15:30 Uhr"); });
! Cron
* * * * * Befehl der ausgeführt werden soll - - - - - | | | | | | | | | +----- Wochentag (0 - 7) (Sonntag ist 0 und 7; oder Namen, siehe unten) | | | +------- Monat (1 - 12) | | +--------- Tag (1 - 31) | +----------- Stunde (0 - 23) +------------- Minute (0 - 59; oder Namen, siehe unten)
Pix