PHPs strtotime() verwendet standardmäßig das aktuelle Jahr. Wie bekomme ich nur zukünftige Termine?Nur zukünftige Daten mit PHP strtotime()
echo date('l d. M Y', strtotime('first sunday of april')); // Sunday 03. Apr 2016
Ich kann den nächsten ersten Sonntag im April bekommen verwalten. Das Datum darf nicht in der Vergangenheit liegen und muss immer relativ sein (nicht 2017 oder 2018 fest codiert).
echo date('l d. M Y', strtotime('first sunday of next april')); // fails
echo date('l d. M Y', strtotime('first sunday of april next year')); // wrong from January until that Sunday in April
Ich glaube, ich es in mehreren Schritten tun könnte oder eine Funktion erstellen, um zu überprüfen, wenn die aktuelle Zeit vor/nach dem ersten Sonntag ist und fügen Sie ein, im nächsten Jahr am Ende.
Aber ich frage mich, ob es eine einfache Lösung mit strtotime ist()
StrTotime kann manchmal magisch scheinen, aber es ist keine AI und nicht Omnisci ent. Wenn es nicht analysieren kann, was Sie ihm zuführen, müssen Sie es manchmal nur an der Nase führen und einen Basiszeitstempel mit dem optionalen zweiten Argument, z. Stellen Sie "jan 1 2017" als Basiszeit zur Verfügung –
Das ist ein guter Punkt, aber ich denke, es funktioniert nicht gut in meiner Situation, weil Sie nicht einfach das Stichwort "dieses Jahr" oder "nächstes Jahr" weglassen können. Wie auch immer, du hast Recht ... es gibt Platz für die PHP-Leute, die mehr Pixie-Staub hinzufügen :-) – suntrop