PHP Berechnen Start in das Geschäftsjahr

Die Firma für die ich arbeite, hat ein Geschäftsjahr, das beginnt am 1. Januar, wenn, dass ist ein Donnerstag, ansonsten beginnt am letzten Donnerstag des Vorjahres.

Ich geschrieben habe, eine Funktion, die dies tut, aber es scheint ineffizient zu müssen-Schleife:

function get_start_of_financial_year() {
    $date = date('Y').'-01-01';
    $correct_day = false;
    while(!$correct_day) {
        $day_num = date('N', strtotime($date));
        if($day_num==4) return $date;
        $date = date('Y-m-d', strtotime($date.' -1 day'));
    }
}

Ich habe versucht, so etwas wie dieses:

function get_start_of_financial_year() {
    $date = date('Y').'-01-01';
    $day_num = date('N', strtotime($date));
    $modifer = 4 - $day_num;
    return date('Y-m-d', strtotime($date.' -'.$modifer.' days'));
}

Aber das funktioniert nicht. Ich weiß, ich mache etwas falsch bei der Berechnung meiner modifier, aber was?

Ich habe einen Blick auf andere ähnliche Fragen /Antworten hier und die sind alle unterschiedlich, also ich denke, das ist eine echte neue Frage stellen.

InformationsquelleAutor Felix Eve | 2013-11-04
Schreibe einen Kommentar