2014-02-01 4 views
1

я сделать страницу PHP, в котором пользовательские даты выбраны я хочу, чтобы получить даты между ними в массиве вот мой код:Как добраться до наших дней?

$startdate1=date('Y-m-d h:i:s',strtotime($_POST['registration_opens_date'])); 
$enddate1=date('Y-m-d h:i:s',strtotime($_POST['registration_ends_date'])); 

я использовал этот метод, но не работает для меня

$begin = $startdate1; 
$end = $enddate1; 

$daterange = new DatePeriod($begin, new DateInterval('P1D'), $end); 

foreach($daterange as $date){ 
    echo $date->format("Y-m-d") . "<br>"; 
} 

Я хочу получить даты между $ startdate1 и $ enddate1, как я получаю даты между ними?

+0

http://boonedocks.net/ mike/archives/137-Create-a-Date-Range-Array-with-PHP.html этот пример может помочь вам – Howli

ответ

2

Есть severals пути для exampe:

$startdate1 = "2014-01-01"; //here set start date 
$startdate1 = strtotime($startdate1); // Convert date to a UNIX timestamp 

$enddate1 = "2014-01-05"; //here set end date 
$enddate1 = strtotime($enddate1); // Convert date to a UNIX timestamp 

// Loop from the start date to end date and output all dates inbetween 
for ($i = $startdate1; $i <= $enddate1 ; $i += 86400) { 
    echo date("Y-m-d", $i) . '<br />'; 
} 

Кроме того, из PHP против => 3.4 вы можете использовать такие классы, как DateInterval, DatePeriod:

$startdate1 = new DateTime('2014-01-01'); 

$enddate1 = new DateTime('2014-01-07'); 
$enddate1 = $enddate1->modify('+1 day'); 

$interval = new DateInterval('P1D'); 
$daterange = new DatePeriod($startdate1, $interval ,$enddate1 ); 

foreach($daterange as $date){ 
    echo $date->format("Y-m-d") . "<br>"; 
} 
Смежные вопросы