Jörg Reinholz: Ups. Fehler!

Beitrag lesen

Moin!

Da habe ich aber gewaltig was falsch gemacht und auch die Reihenfolge der Parameter ist zu optimieren:

<?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