alle 14 Tage, oder jeder 2.Mittwoch im Monat

Alles, was PHP betrifft, kann hier besprochen werden.

alle 14 Tage, oder jeder 2.Mittwoch im Monat

Postby axel3 » 04. April 2005 14:27

Moin, moin:
Hatte jemand sowas schonmal: Ich schreib an einem Veranstaltungskalender, in den ein Veranstalter einen Kurs eintragen kann.
Dieser Kurs läuft dann ab einem bestimmten Tag immer den 2.Mittwoch im Monat;
ein anderer Kurs z.B. alle 14 Tage Montags.
Der 1.Kurstag sei ein timestamp.
Wie finde ich nun ´billig´ heraus, wann - von heute - der nächste 2.Mittwoch dieses Monats ist,
oder ob heute der Montag ist, wo der Kurs 14tägig stattfindet?

´n schönen Gruß aus Wiesbaden:
Axel
User avatar
axel3
 
Posts: 20
Joined: 21. July 2004 07:00

Postby deepsurfer » 04. April 2005 14:35

doppelklick auf die kleine Uhr rechts unten in der Trayleiste.

Die Uhr wird mit Kalender vergrössert aufgebaut.
Standart mässig sollte der MONAT schon blau-markiert sein, sodass du einfach mit der Pfeiltaset nach unten in den neuen Monat kommst.

Solange du in der Uhr nicht auf OK klickst bleibt deine Systemuhr aktuell.

Nach fertigstellung deines Wunsches einfach die UHR mit "abbrechen" schliessen.
chirio Deep
Wie sagte einst der MCP aus Tron auf dem Bildschirm zu schreiben Pflegte
" ... end of communication ... "
User avatar
deepsurfer
AF Moderator
 
Posts: 6440
Joined: 23. November 2004 10:44
Location: Cologne
Operating System: Win-XP / Win7 / Linux -Debian

Postby axel3 » 04. April 2005 15:00

:lol:
Ja, danke! Wie ICH rausfinde, ob es der 1. Mittwoch im Monat ist, weiß ich schon.....

Aber ich meinte es doch ewas anders:
Der Veranstalter trägt einen fortlaufenden Kurs (14-tägig) beginnend ab Freitag, 1.April 2005 ein.
Er hat dazu eine Selectbox, wo er
Code: Select all
alle
<SELECT>
<OPTION SELECTED>7
<OPTION>14
</SELECT>
Tage am
<SELECT>
<OPTION SELECTED>Montag
<OPTION>Mittwoch
<OPTION>Sonntag
</SELECT>


Der 1. Veranstaltungstag wird dann in die DB als timestamp eingetragen.

Ein Benutzer schaut am 2. Juni 2005 auf die Seite und möchte den nächsten Kurstermin angezeigt bekommen.
Wie bekomme ich eine entsprechende Ausgabe zustande, die lautet:
Junge, du hast noch ne Woche Zeit, der nächste Kurs ist erst am 10. Juni.
oder eben:
Morgen (3.Juni) ist der nächste Kurs.

So meinte ich das eigentlich ;)

Gruß:
Axel
Last edited by axel3 on 04. April 2005 15:28, edited 1 time in total.
User avatar
axel3
 
Posts: 20
Joined: 21. July 2004 07:00

Postby Kristian Marcroft » 04. April 2005 15:14

Hi,

deepsurfer ich glaub du hast mal wieder voll vorbei geschossen... ;)
Ich würde sagen er wollte das programmiertechnisch wissen. ;)

Hier würde ich es so machen (ich bin allerdings kein programmierer), das ich den Timestamp von "jetzt" nehmen würde + die Anzahl der Sekunden von 2 Wochen. z.b. 1209600 (wenn ich mich nicht verrechnet habe).

So long
KriS
User avatar
Kristian Marcroft
AF Moderator
 
Posts: 2962
Joined: 03. January 2003 12:08
Location: Diedorf

Postby axel3 » 04. April 2005 15:44

Moin, zusammen:
genauso war es gemeint.
Wow, das wird ne menge Arbeit:
Die Möglichkeiten sollen sein: jeden 1. , 2. , 3. , 4. oder letzen Montag, Dienstag.... im Monat
oder -andere Wahl- alle 7 Tage, 14 Tage.
Na, ein guter Anlass, sich mal mit date() zu beschäftigen.
Oder hat noch irgendjemand einen Geistesblitz?

Gruß:
Axel
User avatar
axel3
 
Posts: 20
Joined: 21. July 2004 07:00

Postby axel3 » 05. April 2005 17:00

Moin, zusammen:
Bin soweit durch, hier ne kleine Kostprobe:
Ich suche den letzten Mittwoch des gerade aktuellen Monats.
Die Anzahl der Tage eines Monats ermittle ich über date("w"), Mittwoch ist der 3.Tag einer Woche.
Jetzt noch schnell geschaut, ob nicht der Mittwochswert > als der Wert des letzen Tages des Monats ist (Also Mittwoch ist größer als Montag) und:
fertig.

Code: Select all
$SelectWoTag=3; //Mittwoch
$DieseMonatsTage = date("t",mktime(0,0,0,date("m"),1,date("Y")));
$LetzterDiesesMonats = date("w",mktime(0,0,0,date("m"),date("t",mktime(0,0,0,date("m"),1,date("Y"))),date("Y")));
echo "<BR>Der Letzte Tag dieses Monats entspricht dem $LetzterDiesesMonats. Wochentag";
if ($LetzterDiesesMonats < $SelectWoTag) {$LetzterDiesesMonats = $LetzterDiesesMonats+7;}
$Stichtag= $DieseMonatsTage - ($LetzterDiesesMonats-$SelectWoTag);
echo "<BR>Der letzte Mittwoch in diesem Monat ist der $Stichtag.";


Bin stolz auf mich. :D
Gruß:
Axel
User avatar
axel3
 
Posts: 20
Joined: 21. July 2004 07:00


Return to PHP

Who is online

Users browsing this forum: No registered users and 60 guests