2016-04-03 9 views
0

Bir önceki tarihe göre birkaç tarih üretmem gerekiyor. Örnek: Tarih formatım dd-mm-yyyy başlangıç ​​tarihi veritabanı ve adından $ startDate olarak geliyor.Veritabanı değerlerine göre tarih aralığı oluştur

[01-01-2016 - 03-01-2016] 
[04-01-2016 - 06-01-2016] 
[07-01-2016 - 10-01-2016] 

Bu boşluk değeri veritabanından oluyor. php döngüsünü kullanarak bu tür bir tarih kümesini oluşturmam gerekiyor. ihtiyaçlarınıza bağlı böyle

cevap

0

şey:

<?php 
$dates = [ //new php 'short array' syntax, 
//$dates = array(/* old php start */ 
'01-01-2016'=> '03-01-2016', 
'04-01-2016'=> '06-01-2016', 
'07-01-2016'=> '10-01-2016' 
//); /* old php end */ 
]; 
$f = 'd-m-Y'; //date Format 
foreach ($dates as $start=>$end){ 
    $startDate = date_create_from_format($f, $start); 
    $prevDate = date_create_from_format($f, $end); 
    $gapDate = clone($prevDate); //pay attention to this line, remove it and see what happens 
    $gapDate->add(
     new DateInterval('P1M1D') //google://ISO_8601, PHP manual 
    ); 

    echo "orig:". $startDate->format($f) . " => " . $prevDate->format($f) ."\n"; 
    echo "gap_:". $prevDate->format($f) . " => " . $gapDate->format($f) ."\n"; 
} 

//no closing tag here 
+0

Eğer PEO php Bu kodu dönüştürebilirsiniz. çünkü yapılandırılmış bir php yapıyorum. teşekkür ederim çok mucn –

+0

peo php nedir? prosedürel çağrıları kullanmaktan ve çağrıları kastetmekten mi bahsediyorsunuz? Biliyorsun, onları özgürce karıştırabilirsin, yanlış bir şey yok. – strangeqargo