CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
20.06.2007, 10:06:57
|
|
Member
|
|
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
|
|
wieviele Wochen umfasst ein Monat
Ich mal wieder,
bis heute dachte ich das ein Monat höchstens 5 Wochen umfassen kann, naja falsch gedacht.
Der April dieses Jahres umfasste nämlich 6 und nun würde ich gerne wissen wie ich soetwas rausfinden kann.
Ich habe mir schon alle parameter für date() angeschaut leider ist nichts passendes dabei, und es fällt mir schwer auszusprechen, aber ich bekomme kein passenden Algorithmus aus meinem gehirn geqeutscht *schäm*
Geändert von Indyk (20.06.2007 um 10:07:54 Uhr)
Grund: ausdruck
|
20.06.2007, 10:12:20
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: wieviele Wochen umfasst ein Monat
Zitat:
Zitat von Indyk
... und es fällt mir schwer auszusprechen, aber ich bekomme kein passenden Algorithmus aus meinem gehirn geqeutscht *schäm*
|
Macht nix. Ich kenne noch nicht mal die Vorschrift, nach der der April 6 Wochen hat. <g>
|
20.06.2007, 10:21:52
|
|
Member
|
|
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
|
|
AW: wieviele Wochen umfasst ein Monat
nichts desto trotz gibt es ihn, den april mit 6 wochen, und vll. schlummert irgenwo ein monat mit genau 4 wochen. (müsste dann aber ein februar sein ; -)
jedenfalls bin ich mti meinem statischen 5 zeilen kalender nicht mehr zufrieden und hätte gern eine dynamische abfrage wie viele wochen der Monat hat.
Leider hab ich nach wie vor keinen ansatz.
ich könnte mit einer schleife jeden tag durchlaufen, und abfragen ob es ein montag ist und alle trues in ein array packen .. hmm? gehts auch einfacher?#
Edit:
Denkfehler, die erste fängt hcöhst selzten mit einem Monat an -.-
Nachtrag
aber:
6 Wochen sind nur dann möglich wenn der erste Tag des Monats ein Sonntag ist und der Monat 31 Tage hat
und:
4 Wochen sind nur dann möglich wenn der erste Tag des Monats ein Montag ist und der Monat 28 Tage hat.
sehe ich das Richtig?
Nachtrag 2
Nein sehe ich nicht, denn 6 Wochen sind auch möglich wenn der erste Tag ein Samstag ist, und der Monat 31 Tage hat
wie auch wenn er erste Tag ein Sontag ist und der Monat 30 Tage hat.
Geändert von Indyk (20.06.2007 um 10:29:59 Uhr)
Grund: Nachtrag, Nachtrag 2
|
20.06.2007, 10:46:08
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: wieviele Wochen umfasst ein Monat
kann man mit date() nicht die kalenderwoche für einen tag rausfinden? und dann einfach rausfinden, welcher wochentag und welche kalenderwoche der erste tag eines monats ist, um den rest dann zu berechnen?
|
20.06.2007, 10:54:24
|
|
Member
|
|
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 38
Beiträge: 900
|
|
AW: wieviele Wochen umfasst ein Monat
Ja das ist es, ich gehe die Tage durch, lasse mir die Woche dazu sagen, dann zähle ich die unterschiedlichen wochen zusammen und habe das ergebnis, danke!
|
20.06.2007, 11:01:54
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: wieviele Wochen umfasst ein Monat
Dafür musst du ja nicht einmal alle Tage durchgehen. Der erste und letzte Tag eines Monats reicht völlig aus.
|
20.06.2007, 14:33:48
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
AW: wieviele Wochen umfasst ein Monat
Zitat:
Zitat von xabbuh
Dafür musst du ja nicht einmal alle Tage durchgehen. Der erste und letzte Tag eines Monats reicht völlig aus.
|
Hm, eigentlich müsste doch sogar der erste Tag ausreichen?
Nehmen wir an, die Woche beginnt am Montag, das ist also Tag 0 (also ist Sonntag Tag 6). Weiterhin haben wir 2007 am 1.4. einen Sonntag (Tag 6). Der April hat 30 Tage.
Die erste KW im April umfasst nun 7 - 6 = 1 Tage. Bleiben noch 29 übrig. 29 / 7 sind aufgerundet 5. Also 5 + 1 = 6 Wochen.
Allgemeiner: Sei nun $x der Tag des 1. des Monats (0 für montag bis 6 für sonntag) und $y die Anzahl der Tage des Monats. in $z steht das ergebnis:
PHP-Code:
$z = ceil(($y - (7 - $x))/7) + 1;
Geändert von feuervogel (20.06.2007 um 14:47:50 Uhr)
|
20.06.2007, 14:53:58
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: wieviele Wochen umfasst ein Monat
Klar, ist nur für meinen Geschmack etwas zu viel Herumrechnerei, wenn ich das Problem ansonsten auch mit zwei Funktionsaufrufen lösenn könnte.
|
20.06.2007, 15:44:56
|
|
SELFPHP Guru
|
|
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
|
|
AW: wieviele Wochen umfasst ein Monat
Zitat:
Zitat von Indyk
nichts desto trotz gibt es ihn, den april mit 6 wochen,
...
6 Wochen sind nur dann möglich wenn der erste Tag des Monats ein Sonntag ist und der Monat 31 Tage hat
|
Jut, dann warten wir auf den April, der 31 Tage hat.
btw: ich vermute mal, daß Du einen Kalender basteln willst, der optisch wie ein Kalender im "Skatkartenformat" aussieht. Falls ja und falls und "Mo|Di|Mi|Do|Fr|Sa|So" gewünscht ist:
der 1. Tag des Monats ist ja bekannt, aber nicht, welcher Wochentag das ist.
PHP-Code:
$WT = jddayofweek( gregoriantojd($monat, 1, $jahr));
Dummerweise beginnt die Woche da mit Sonntag = 0. Kann man klären:
PHP-Code:
if ($WT == 0) $WT = 7;
Wenn also $WT > 1 ist, liegt der Montag der 1. Woche im Vormonat.
Die Anzahl der Tage kriegste so:
PHP-Code:
$num = cal_days_in_month(CAL_GREGORIAN, $monat, $jahr);
Und den Rest kriegste als Hausaufgabe... <hihi>
Geändert von meikel (†) (20.06.2007 um 15:45:58 Uhr)
|
20.06.2007, 17:11:16
|
Junior Member
|
|
Registriert seit: Jun 2004
Beiträge: 473
|
|
AW: wieviele Wochen umfasst ein Monat
Zitat:
Zitat von meikel
Jut, dann warten wir auf den April, der 31 Tage hat.
|
Wartet lieber auf einen Monat, der 42 Tage hat, wenn ihr sechs Wochen darin unterbringen wollt.
Die deutsche Kalenderwochenberechnung basiert auf DIN 1355 / ISO 8601 und die besagt u.a. folgendes:
Zitat:
- Jeden Montag und nur montags beginnt eine neue Kalenderwoche
- Die erste Kalenderwoche ist diejenige, die mindestens 4 Tage des neuen Jahres enthält
- Es gibt keine unvollständigen Kalenderwochen, ausnahmslos jede KW enthält genau 7 Tage
- Jedes Jahr hat entweder 52 oder 53 Kalenderwochen
- Ein Jahr hat genau dann 53 Kalenderwochen, wenn es mit einem Donnerstag beginnt oder endet
- Der 29., 30. und 31. Dezember kann schon zur ersten Kalenderwoche des Folgejahres gehören
- Der 1., 2. und 3. Januar kann noch in der letzten Kalenderwoche des Vorjahres liegen
|
So wie ein Tag des neuen Jahres zu einer Woche des alten Jahres gehören kann, kann auch ein Tag im neuen Monat zu einer Woche des Vormonats gehören, denn die Aufteilung des Jahres in 52 oder 53 Kalenderwochen geschieht unabhängig von der Aufteilung des Jahres in Kalendermonate (gleiche DIN Norm).
Der 01.04.2007 (Sonntag) ist ein gutes Beispiel. Wenn man (entgegen der Norm) einen Zusammenhang zwischen Kalenderwochen und -monaten herstellen will, muß man den 01.04.2007 eher zur letzten Woche des Märzes und nicht zur ersten Woche des Aprils rechnen.
...und den 01.04.2007 gar als ganze Woche im April zu zählen, nur weil der betreffende Sonntag (als einziger Tag seiner Woche) im April liegt, halte ich für sehr weit hergeholt.
Ergo können Monate maximal 4 (komplette) KWs enthalten, es sein denn, man wendet die "Jahres-Überlappungs-Regel" (aus der DIN Norm) auch auf Monate an (was eigentlich nicht erlaubt ist "Jede KW umfasst genau sieben Tage"), dann können es auch 5 KWs sein, wie im Januar diesen Jahres - so sind es aber, wie gesagt, trotzdem keine 5 vollständigen KWs
Geändert von Raketenmann (20.06.2007 um 17:21:51 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 16:32:04 Uhr.
|