PHP Dates are wonderful things +1 year for example. However I’m getting myself in a bit of a mess. I have three dates spanning two months and I want to make an elegant string
“28, 29 February & 1 March” from an array of 3 dates in the form YYYYMMDD. The exact number of dates is not known, minimum 1 probable max 4
Other than some rather tortuous str_replace manipulation, how do I get from the output of this to my desired format?
NB: no more than 2 months, maybe all in one month.
$dates_array = ['20240228', '20240229', '20240301'];
foreach ($dates_array as $date) :
$datetimes[] = new DateTime($date);
endforeach;
// print_r($datetimes);
foreach ($datetimes as $key=>$date) :
$month = $date->format('F');
$day = $date->format('j');
$date_array[]= $day." ".$month." & ";
endforeach;
$date_string = join( ' ', $date_array ) ;
echo $date_string;
// 28 February & 29 February & 1 March &