Thanks again. you are very generous.
Thanks too cups - but no - its the 3rd saturday not the last (phew).
That works a little better for me - I have 'some' more control.
See below for my updated version of your script.
It works fine until I request the 12th month from now - then it returns this year's '12 month date' not next years 12 month date (-ie 18th Feb 2012 not 16th Feb 2013). Not sure why..... 
PHP Code:
// initialize date to current date
$dt = time();
$monthcount=0; //pd start a month count at zero
$tdcount=0; //pd start a table cell count at zero
while(true){
// go to next months first date
$dt = mktime(date("H", $dt), date("i", $dt), date("s", $dt), date("n", $dt)+1, 1);
$dt = strtotime("+3 Saturday", $dt);
++$monthcount; //pd add 1 to the month count
++$tdcount; //pd add 1 to the table cell count
if ($monthcount >= 13) //stop getting the dates after 12 months
break;
//echo $monthcount; //pd print month count for checking purposes
if ($tdcount > 6) { //if the number of dates is greater than 12 insert a new table row
echo "</tr><tr>";
$tdcount=0;//reset the table cell count
}
//echo date(DATE_RSS, $dt). "\n";
echo "<td>" . date("d-F y", $dt). "</td>";
};
it outputs this
HTML Code:
<td>17-March 12</td><td>21-April 12</td><td>19-May 12</td><td>16-June 12</td><td>21-July 12</td><td>18-August 12</td></tr><tr><td>22-September 12</td><td>20-October 12</td><td>17-November 12</td><td>22-December 12</td><td>19-January 13</td><td>18-February 12</td>
Thanks again
Bookmarks