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; }