PHP Seleccionar cada otro miércoles

Necesito ayuda Seleccione cada otro miércoles a partir del 5/2/12. Este código a continuación selecciona cada otro miércoles a partir de la semana en que se encuentra actualmente. Pero necesito establecer la semana de comienzo. Estoy familiarizado con PHP, pero no estoy familiarizado con las fechas de php. Así que sea lo más específico posible. Encontré esto:

$number_of_dates = 10; for ($i = 0; $i < $number_of_dates; $i++) { echo date('md-Y', strtotime('Wednesday +' . ($i * 2) . ' weeks')). "
".PHP_EOL; }

Usa mktime para crear tu fecha de inicio y pasa eso como el segundo argumento a strtotime para que el recuento comience desde allí:

 $startDate = mktime(0, 0, 0, 5, 2, 2012); // May 2, 2012 for ($i = 0; $i < $number_of_dates; $i++) { $date = strtotime('Wednesday +' . ($i * 2) . ' weeks', $startDate); echo date('md-Y', $date). "
".PHP_EOL; }

Véalo en acción .

Dale una fecha en la cadena, en lugar de “Miércoles” (que elige el próximo miércoles), escribe:

strtotime('20120502 +' . ($i * 2) . ' weeks'))

Para elegir esa fecha. (El formato es aaaammdd).

Si tiene PHP 5.2.0 o posterior, puede hacerlo fácilmente de esta manera:

 $date = new DateTime('2006-05-02'); for ($i=0; $i<10; $i++) { echo $date->format('md-Y').'
'.PHP_EOL; $date->modify('+1 week'); }

También puede usar las clases DatePeriod y DateInterval para facilitar la vida.

Descargo de responsabilidad estándar: las dos clases anteriores requieren PHP> = 5.3.0.

 $number_of_dates = 10; $start_date = new DateTime("5/2/12"); $interval = DateInterval::createFromDateString("second wednesday"); $period = new DatePeriod($start_date, $interval, $number_of_dates - 1); foreach ($period as $date) { echo $date->format("mdY") . "
" . PHP_EOL; }