Tach,
Ich habe
date('m')
gewählt weil das idiomatischer ist.date('m') < 8
versteht man sofort, überstrtotime('today') < strtotime('first day of August this year')
muss man erst nachdenken was damit bezweckt wird.Abgesehen davon halte ich
strtotime('today')
sowie die Wiederholung vonstrtotime('first day of August this year')
für suboptimal ;-)
definitiv, deine Lösung war schöner; mir ging's ja nur darum, dass Julianische Datum als sinnvolle Lösung in diesem Falle (sinnvolle Anwendungszwecke für dieses fallen mir nur ein, wenn der Wertebereich des Unix-Timestamps zu klein ist (64 bit to the rescue)) zu entkräften.
Ich denke allerdings, dass eine Misch-Lösung tatsächlich am besten lesbar wäre:
<?php $now = time(); $august_this_year = strtotime('first day of August this year', $now); $august_last_year = strtotime('first day of August last year', $now); echo date('Y-m-d', $now < $august_this_year ? $august_last_year : $august_this_year);
Das Verpacken in Variablen ist nicht nur der Lesbarkeit geschuldet, sondern dient auch als Cache.
Ja, aber dann ist es doch kein Einzeiler mehr, der Rouge verwirrt ;-)
mfg
Woodfighter