<?php
$db = new DateTimeImmutable( '2018-12-31' );
$de = new DateTimeImmutable( '2019-12-31' );
$di = DateInterval::createFromDateString(
'first thursday of next month'
);
$dp = new DatePeriod(
$db, $di, $de, DatePeriod::EXCLUDE_START_DATE
);
foreach ( $dp as $dt )
{
echo $dt->format( "F jS\n" );
}
?>
Output
January 3rd
February 7th
March 7th
April 4th
May 2nd
June 6th
July 4th
August 1st
September 5th
October 3rd
November 7th
December 5th