Ups. Fehler!
bearbeitet von Jörg ReinholzMoin!
Da habe ich aber gewaltig was falsch gemacht und auch die Reihenfolge der Parameter ist zu optimieren:
~~~ PHP
<?php
#Test:
echo firstDayOfMounthAgo ( 1, '2016-01-11', 'Y-m-d'), "\n";
echo firstDayOfMounthAgo ( 1), "\n";
echo firstDayOfMounthAgo ( 1, '2016-02-13', 'Y-m-d'), "\n";
echo firstDayOfMounthAgo ( 1, '1969-02-13', 'Y-m-d'), "\n";
function firstDayOfMounthAgo ($mounth, $date=false, $format='Y-m-d') {
if (false === $date) $date=date('Y-m-d');
list($Y, $M, $dummy) = explode('-', $date, 3);
if ($M <= $mounth) $Y--;
return date($format, mktime(0, 0, 0, $mounth, 1, $Y));
}
~~~
Resultate:
~~~
2015-01-01
2015-01-01
2016-01-01
1969-01-01
~~~
Jörg Reinholz