PHP Data Intervallo / Periodo di data Non si comporta come previsto
-
13-11-2019 - |
Domanda
Dopo aver effettuato alcune ricerche in DatePeriod, si scopre di default esclude l'enddate, anche se non dichiara esplicitamente che ovunque nel manuale PHP.Inoltre non ho notato alcuna opzione per incluso.L'unica opzione sembra essere la possibilità di escludere la data di inizio.Qualcun altro attraversa questo?
Soluzione
Hai dimenticato il tempo
$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;
.
Questa uscita:
Array
(
[0] => Array
(
[eventID] =>
[date] => 2012-02-28
[max] =>
)
[1] => Array
(
[eventID] =>
[date] => 2012-02-29
[max] =>
)
)
.
Senza il tempo, otterrai:
Array
(
[0] => Array
(
[eventID] =>
[date] => 2012-02-28
[max] =>
)
)
. Altri suggerimenti
.l - Che si tratti di un anno bisestile
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow