Christian Kruse: strtotime() letzter August gesucht

Beitrag lesen

Hallo woodfighter,

Deswegen frage ich ja, wo der Vorteil des Julianischen Datums gegenüber einem Unix-Timestamp wäre.

Aus der Timestampdifferenz kann man nicht erkennen, ob ein Jahreswechsel dazwischen liegt (Schaltjahr).

das wollte ich auch nicht behaupten, aber den Timestamp könnte man in die Datumsfunktionen von PHP werfen (wie Christian es in seiner Lösung getan hat) oder direkt vergleichen (s.u.), wohingegen man fürs Julianische Datum erstmal eine passende Klasse finden und einbinden müsste.

Ich habe date('m') gewählt weil das idiomatischer ist. date('m') < 8 versteht man sofort, über strtotime('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 von strtotime('first day of August this year') für suboptimal ;-)

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.

LG,
CK