Announcement

Collapse
No announcement yet.

Arbeitstage berechnen (Mo-Fr)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Arbeitstage berechnen (Mo-Fr)

    Hi,
    wie kann ich einfach und schnell berechnen, welcher Tag von heute an in zB. 10 Tage ist (nur Arbeitstage also Mo-Fr, keine Bundesfeiertage (können aus mysql-db kommen)) ??
    Meine momentane 'Funktion' sieht so aus:
    siehe angehängte Datei ...
    Wie Ihr schon seht, ist diese nicht sehr flexibel, was die tagesanzahl angeht. Momentan ist sie nur für 10 Tage ausgelegt...
    Vielen Dank für Eure Hilfe im vorraus !
    BP
    Zuletzt editiert von Christian Marquardt; 08.01.2015, 10:04.

  • #2
    fangen wir langsam an, für PHP Version 5.2 und aufwärts:

    diese funktion gibt dir zurück ob in n tagen wochenende ist oder nicht:

    PHP Code:
    function is_weekday($modify=1)
    {
        if(!
    is_int($modify)) throw new Exception('is_weekday() aktzeptiert als modifikator nur Zahlen');

            
    // ein neues DateTime object erstellen von jetzt mit der Zeitzone Europa/Berlin
        
    $date=new DateTime('now',new DateTimeZone('Europe/Berlin'));
            
    // dem datum $modify tage hinzufügen
        
    $date->modify('+'.$modify.' days');

            
    // das datum überprüfen
        
    switch($date->format('N'))
        {
                    case 
    6:
                    case 
    7:
                                return 
    FALSE;
                        break;
                    default: 
                                return 
    TRUE;
                        break;
        }

    das mit den feiertagen geht natürlich ähnlich, dort musst du das datum eben so umwandeln, dass das format übereinstimmt....

    Comment

    Working...
    X