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?

È stato utile?

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

Php.net Quote

.

l - Che si tratti di un anno bisestile

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top