Dadas dos fechas (fecha de inicio y fecha de finalización) y la tarea es devolver todas las fechas en una array.
Ejemplo 1: en este ejemplo, use la clase de intervalo de fecha que almacena una cantidad fija de tiempo (en años, meses, días, horas, etc.) o una string de tiempo relativa en el formato DateTime.
<?php // Function to get all the dates in given range function getDatesFromRange($start, $end, $format = 'Y-m-d') { // Declare an empty array $array = array(); // Variable that store the date interval // of period 1 day $interval = new DateInterval('P1D'); $realEnd = new DateTime($end); $realEnd->add($interval); $period = new DatePeriod(new DateTime($start), $interval, $realEnd); // Use loop to store date into array foreach($period as $date) { $array[] = $date->format($format); } // Return the array elements return $array; } // Function call with passing the start date and end date $Date = getDatesFromRange('2010-10-01', '2010-10-05'); var_dump($Date); ?>
Producción:
array(5) { [0]=> string(10) "2010-10-01" [1]=> string(10) "2010-10-02" [2]=> string(10) "2010-10-03" [3]=> string(10) "2010-10-04" [4]=> string(10) "2010-10-05" }
Ejemplo 2: Este ejemplo usa la función strtotime() que se usa para convertir una descripción textual de fecha y hora en inglés a una marca de tiempo UNIX. Devuelve una marca de tiempo en caso de éxito; de lo contrario, es falso.
<?php // Declare two dates $Date1 = '01-10-2010'; $Date2 = '05-10-2010'; // Declare an empty array $array = array(); // Use strtotime function $Variable1 = strtotime($Date1); $Variable2 = strtotime($Date2); // Use for loop to store dates into array // 86400 sec = 24 hrs = 60*60*24 = 1 day for ($currentDate = $Variable1; $currentDate <= $Variable2; $currentDate += (86400)) { $Store = date('Y-m-d', $currentDate); $array[] = $Store; } // Display the dates in array format print_r($array); ?>
Producción:
Array ( [0] => 2010-10-01 [1] => 2010-10-02 [2] => 2010-10-03 [3] => 2010-10-04 [4] => 2010-10-05 )
Publicación traducida automáticamente
Artículo escrito por Swarnakamal Dhyawala y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA