| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Statt durchnummerierten Variablen solltest du immer einen Array verwenden, dann kannst du den Code in einer Schleife mehrfach ausführen lassen. Grundsätzlich rechnest du 10 Tage zum heutigen Datum so dazu: echo date("l", strtotime("+10 days")); 10 Tage sind bei 5 Wochentagen pro Woche ganz einfach + 2 Kalenderwochen. Rechne also einfach Code: heute + abrunden(10 / 5) * 7 // unsere voll zu addierenden Wochen (2) + 10 % 5 // die restlichen Tage, die nicht komplett in einer Woche unterkamen, hier zufällig 0 Wenn das Ergebnis auf ein Wochenende trifft (Samstag oder Sonntag), addiere 2 Tage hinzu. Was ist Modulo? Datumsfunktionen: |
| |
| | |||
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Zitat:
Zitat:
| ||
| |
| | ||
| Gast
Beiträge: n/a
| Hi, ähm, da hab ich mich in meinem Urposting wohl ein wenig blöd ausgedrückt. ich hatte geschrieben: Zitat:
erlaubte Tage = Arbeitstage (Mo-Fr) nichterlaubte Tage = SA, SO, Bundesfeiertage .... War wohl mein fehler, sorry. Trotzdem Danke für Deine Hilfe ! BP | |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Dein Algorithmus ist unlogisch, du prüfst ob Samstag Sonntag oder ein Feiertag ist, wenn ja prüfst du nochmal einzeln ob es ein Feiertag ist und machst Aktion X, wenn Samstag ist, machste Aktion Y, wenn Sonntag ist Aktion Z (die identisch mit Aktion Y sein sollte). Und hast du schonmal dran gedacht, dass ein Feiertag auch auf Samstag oder Sonntag fallen kann? (wenn nicht, vertausch die Reihenfolge, also erst auf Wochenende prüfen, danach (else) erst auf Feiertag) Alles in allem ist dein Algorithmus also etwas schlampig. Nochmal eine letzte Empfehlung, ob du sie beherzigst bleibt dann dir überlassen: Mach es wie ich erwähnt habe; prüfe am Ende jedoch noch nicht auf Sams- und Sonntage! Schreib dir eine Funktion, die Start- und Enddatum übergeben bekommt und als Ergebnis die Anzahl der in diesem Zeitraum liegenden Feiertage (die nicht auf einen Samstag oder Sonntag fallen) liefert. Code: getHolidayCount($startdate, $enddate) Code: SELECT COUNT(*) FROM holidays WHERE (holiday BETWEEN '$startdate' AND '$enddate') AND DAYOFWEEK(holiday ) NOT IN(1, 7) Diese Anzahl addierst du auf das Ergebnis drauf und prüfst jetzt erst, ob Samstag oder Sonntag. Wenn ja, wie erwähnt plus 2. Wenn du das Prinzip verstanden hast und keinen Denkfehler gefunden hast, sollte es ein sehr effizienter Algorithmus sein (~ 10 Zeilen vs deine 646 Zeilen). Wenn du ihn nicht verstanden hast, sag mir Bescheid ob ich noch einmal etwas erklären soll oder ob ich mir das sparen kann, weil du lieber deinen (hoffentlich verbesserten) Code verwenden möchtest. |
| |
| | ||||||
| Gast
Beiträge: n/a
| Moin, Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Bis hierher schonmal ein großes Dankeschön ! BP | |||||
| | ||||||
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Zitat:
Code: if (eins | zwei | drei) {
if (eins) {
// ..
}
if (zwei) {
// ..
}
if (drei) {
// ..
}
}
![]() Zitat:
Zitat:
Code: TAG_X + abrunden(ANZAHL / 5) + (ANZAHL % 5) Und jetzt kommt noch ein Spezialfall, denn nun musst du schauen, ob in den zusätzlich durch die Feiertage hinzugekommenen Tagen nicht auch noch ein Feiertag versteckt ist. Ich schreib dir hier mal einen Algorithmus, der hoffentlich funktioniert! PHP-Code: gut zugegebenermaßen nicht mehr ganz so kurz | |||||
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Tage, Stunden und Minuten berechnen | christian1112 | PHP Tipps 2008 | 10 | 02.03.2009 12:38 |
| Durschnitt berechnen | schimanski | Datenbanken | 6 | 04.06.2008 15:47 |
| Statistik zu welchem Zeitpunkt berechnen? | cycap | Datenbanken | 10 | 13.10.2007 12:19 |
| entfernung mittels plz berechnen | kid01 | PHP-Fortgeschrittene | 10 | 13.10.2006 17:53 |
| [Erledigt] Sporttabelle aus Ergebnissen berechnen | Datenbanken | 6 | 13.03.2006 20:37 | |
| Farbnuancen aus Farbton berechnen | PHP Tipps 2005-2 | 1 | 24.10.2005 15:24 | |
| Ausgabetabelle berechnen | GN | PHP Tipps 2005-2 | 1 | 03.09.2005 02:57 |
| [Erledigt] Distanz zwischen zwei Bild-Koordinaten berechnen - Machbar? | PHP-Fortgeschrittene | 4 | 28.08.2005 17:29 | |
| menschenalter berechnen | janni | PHP Tipps 2005 | 6 | 25.05.2005 00:13 |
| [Erledigt] Restzeit berechnen | PHP Tipps 2005 | 10 | 22.04.2005 13:02 | |
| kapazität berechnen | PHP Tipps 2005 | 7 | 10.01.2005 20:25 | |
| Help, Zahlen aus DB berechnen | PHP Tipps 2004-2 | 6 | 29.12.2004 17:55 | |
| KFZ Haftpflicht Versicherungsprämie berechnen | Beitragsarchiv | 3 | 13.12.2004 09:12 | |
| Phi berechnen - Euler Funktion | Beitragsarchiv | 6 | 02.12.2004 07:38 | |
| mit PHP traffic berechnen oder schätzen | PHP Tipps 2004 | 2 | 21.06.2004 12:59 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php arbeitstage berechnen, php arbeitstage, arbeitstage berechnen, arbeitstage 2009 nrw, sql arbeitstage, arbeitstage 2009 berechnen, fertigungszeiten berechnen, mysql arbeitstage, kalender 2005 arbeitstage, arbeitstage 2005, sql arbeitstage berechnen, kalender 2004 arbeitstage, kalender 2007 arbeitstage, arbeitstage php, sql werktage berechnen, arbeitstage berechnen php, arbeitstage nrw 2009, kalender 2006 arbeitstage, arbeitstage 2008 nrw, nur werktage mysql |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.