2016-04-04 9 views
1

Nasıl ardından,Başlangıç ​​tarihi vererek sonraki 10 pazar günü nasıl alınır?

sadece güncel verileri vererek önümüzdeki 10 Pazar alabilirsiniz kodum ama ben sadece (Bitiş tarihi olmadan) başlangıç ​​tarihinden itibaren önümüzdeki 10 Pazar başlangıç ​​tarihini vermek ve almak istiyorum tarih aralıkları arasındadır.

$allweeks=array(); 
    $startDate = date('Y-m-d'); 
    $date = new DateTime($startDate); 
    $interval = new DateInterval('P2M'); 
    $date->add($interval); 
    $endDate=$date->format('Y-m-d'); 
    for ($i = strtotime($startDate); $i <= strtotime($endDate); $i = strtotime('+1 day', $i)) { 

     if (date('N', $i) == 1) 
     $allweeks[]= date('n-j', $i); 

    } 
    foreach($allweeks as $wks) 
    { 
     $weeks=explode('-', $wks); 
     echo '=Week of '.$weeks[0]."/".$weeks[1]; 

    } 

cevap

0

aynı için DateTime sınıf veya strtotime işlevini kullanabilirsiniz:

aşağıdaki kodu bir göz atın:

strtotime fonksiyonunu kullanma DateTime Class

$date = '2016-04-05'; 
$date = new DateTime($date); 

// Modify the date it contains 
for($i =0; $i < 10; $i++){ 
$date->modify('next sunday'); 

// Output 
echo $date->format('l : Y-m-d'); 
echo '<br />'; 
} 

kullanma

$date = '2016-04-05'; 
// Modify the date it contains 
for($i =0; $i < 10; $i++){ 
    $date = date('Y-m-d', strtotime('next sunday', strtotime($date))); 

    echo date('l : Y-m-d', strtotime($date)); 
    echo '<br />'; 
} 

çıkış

Sunday : 2016-04-10 
Sunday : 2016-04-17 
Sunday : 2016-04-24 
Sunday : 2016-05-01 
Sunday : 2016-05-08 
Sunday : 2016-05-15 
Sunday : 2016-05-22 
Sunday : 2016-05-29 
Sunday : 2016-06-05 
Sunday : 2016-06-12 
+0

Çıktınız doğru değildir; 2016-04-05'ten sonraki ilk Pazar 2016-04-10. – Narf

+0

Evet, kodun düzgün çalıştığını biliyorum ... yanlış sonucu kopyaladım. – Narf

+0

Teşekkürler bu işe yaradı bana –

İlgili konular