Intervalo de fecha PHP / período de fecha que no se comporta como se esperaba
-
13-11-2019 - |
Pregunta
Después de realizar algunas investigaciones en DatePeriod, lo resulta de incumplimiento excluye el final de finalización, aunque no indique explícitamente que en cualquier lugar del manual PHP.Tampoco noté ninguna opción para incluirla.La única opción que parece haber es la opción de excluir la fecha de inicio.¿Alguien más ha recorrido esto?
Solución
olvidó el tiempo
$start_date = '02/28/2012 00:00:00';
$end_date = '02/29/2012 23:59:59';
$intrDate = '1D';
$start = new \DateTime($start_date);
$end = new \DateTime($end_date);
$interval = new \DateInterval('P'.$intrDate);
$period = new \DatePeriod($start, $interval, $end);
print_r($start_date);
print_r($end_date);
print_r($period);
foreach ($period as $day) {
$dates[] = array(
'eventID' => $event_id,
'date' => $day->format('Y-m-d'),
'max' => $data['numAttending']);
}
print_r($dates);
exit;
Esta salida:
Array
(
[0] => Array
(
[eventID] =>
[date] => 2012-02-28
[max] =>
)
[1] => Array
(
[eventID] =>
[date] => 2012-02-29
[max] =>
)
)
Sin el tiempo, obtendrá:
Array
(
[0] => Array
(
[eventID] =>
[date] => 2012-02-28
[max] =>
)
)
Otros consejos
l - Ya sea un año bisiesto
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow