My solution, with DateTime objects: Seems much simpler, doesn't it?
<?php
header("Content-type: text/plain");
$date = new DateTime("2012-01-01");
echo $date->format("Y-m-d"), PHP_EOL;
$date->modify("+14 days");
echo $date->format("Y-m-d"), PHP_EOL;
while ($date->format("Y") != "2013") {
$date->modify("first day of next month");
echo $date->format("Y-m-d"), PHP_EOL;
$date->modify("+14 days");
echo $date->format("Y-m-d"), PHP_EOL;
}