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