Seite 1 von 2
bestimmten Tag für eine Aktion festlegen
Verfasst: 14.01.2009 09:40
von Dungeonwatcher
Moin!
Eine Frage an die Profis.
Ich möchte an einem bestimmten Tag zu einer bestimmten Zeit eine bestimmte Aktion ausführen lassen. Und zwar soll dies der erste 13. eines Monats sein, welcher auf einen Freitag fällt und nach Ostern kommt. Mit der Festlegung von Ostern komme ich klar:
Nur wie muss dies Korrekt aussehen.
Bye
Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 14.01.2009 17:07
von gn#36
Wenn du weißt wo Ostern liegt dann kannst du ja einfach den Rest auf den 13. eines Monats festlegen und danach prüfen ob das Datum größer als das Osterdatum ist.
Also quasi so:
Code: Alles auswählen
if(date('d') == 13 && time() > $oster_datum_als_timestamp && date('w') == 5)
{
//Das wird nur ausgeführt wenn es am Freitag den 13. aufgerufen wird
//wobei das Datum nach einem gewissen Timestamp liegen muss
}
$oster_datum_als_timestamp musst du natürlich noch füllen mit deinem Datum. Ggf. per [php:mktime] den Timestamp aus deinem Datum erzeugen. Für weitere erklärungen dazu siehe auch [php:date].
Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 14.01.2009 19:13
von Miriam
Das klappt dann für alle Fr 13th ab dem festgelegten Ostern.... auch wenn es welche im darauf folgenden Jahr vor dem dann kommenden Ostern geben sollte.
Idee:
Code: Alles auswählen
<?php
function fr13th_after_easter($calendar_date)
{
if ((easter_date(date("Y", $calendar_date)) < $calendar_date) AND ((date("w", $calendar_date) == 5) AND (date("d", $calendar_date) == 13)))
{
return true;
}
}
$day2check = mktime(0,0,0,date("m"),date("d"),date("Y")); // als Beispiel heute, kann auch jeder andere Timestamp sein
if (fr13th_after_easter($day2check))
{
print "Es ist Freitag, der 13.";
}
else
{
print "Irgendein Tag in der Woche";
}
?>
Es werden die Freitage, die 13., beachtet, die ab Ostern des Jahres, das im $to_day (timestamp) abgefragt wird, auftauchen. Also der 13. Nov 2009. Aber nicht die
vor Ostern: Also nicht der 13.02.2009 und nicht der 13.03.2009 (für 2009).
Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 14.01.2009 20:53
von gn#36
Naja ich war davon ausgegangen dass die Ostern-Funktion mir schon das Osterdatum des aktuellen Jahrs liefert und nicht einfach irgend eins. In dem Fall müsste das so wie ich das geschrieben habe funktionieren.
Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 14.01.2009 22:18
von Miriam
Jetzt hat Dungeonwatcher sogar zwei Möglichkeiten zum Ausprobieren. Ist doch auch mal was.

Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 14.01.2009 22:50
von gn#36
Wo ich mir deine Funktion noch mal ansehe: Wo prüft die denn ob es überhaupt Freitag der dreizente ist? Ich sehe da gar keine Prüfung drin.
Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 14.01.2009 23:19
von Miriam

Ich auch nicht....
Manno
Hab's oben geändert. Danke für den Hinweis.
Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 15.01.2009 11:09
von Dungeonwatcher
Hi!
Ich danke euch für diese Ideen.
Am Wochenende werde ich mir das in Ruhe durch den Kopf gehen lassen und versuchen das ganze zu verstehen. Bei Fragen melde ich mich wieder, ansonsten gibt es nach dem 13.11.09 hier eine Erfogsmeldung.

Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 15.01.2009 11:15
von Miriam
Oder Misserfolgsmeldung
teste es doch lokal mit xampp und einem geänderten Datum auf Deinem lokalen Webserver.
Re: bestimmten Tag für eine Aktion festlegen
Verfasst: 15.01.2009 11:56
von Dungeonwatcher
Miriam hat geschrieben:Oder Misserfolgsmeldung
Das will ich mal gleich ausschliessen.
teste es doch lokal mit xampp und einem geänderten Datum auf Deinem lokalen Webserver.
Hmmm, da ist was dran. Ich melde mich die Tage wieder, versprochen.
