2017-04-02 16 views
1

출발점에서 26 일을 얻어야합니다. 이전 날짜부터 시작하는 다음 날짜입니다. 모든 것을 하드 코딩하는 것은 정신 나간 것입니다 ... 그래서 저는 이것을 어떻게 동적으로 할 수 있을지 궁금합니다. 더 똑똑한 방법이 있습니까? 나는 두 번째 데이트 후 증가를 찾고있다. 아마 for 루프를 가지고 있을까요?strtotime을 사용하여 동적으로 날짜를 증가시키는 방법은 무엇입니까?

<?php 
    //incrementing dates for bi-weekly (26 periods// 26 dates) 
    $firstdate = strtotime("+17 days", strtotime("2017-04-03"));//1 
    $i = date("Y-m-d", $firstdate); echo date("Y-m-d", $firstdate);//echo for testing 
    echo'<br>'; 
    $seconddate =strtotime("+14 days", strtotime($i));//2 
    $ii = date("Y-m-d", $seconddate); echo date("Y-m-d", $seconddate);//echo for testing 
    echo'<br>'; 
    ?> 
+1

시도 및 태그이 함께 할 것입니다이 작업을 수행 할 수있는 가장 쉬운 방법 후 다음 난해한 일 . – tadman

+0

날짜를 늘리려는 금액은 얼마입니까? 일정한 금액입니까 아니면 변화하는 금액입니까? – Jpsh

+0

@ user3299379 : 두 번째 날짜 이후에는 항상 +14 일이됩니다 –

답변

3

이 방법에 대해 :

아마
// initialize an array with your first date 
$dates = array(strtotime("+17 days", strtotime("2017-04-03"))); 

// now loop 26 times to get the next 26 dates 
for ($i = 1; $i <= 26; $i++) { 
    // add 14 days to previous date in the array 
    $dates[] = strtotime("+14 days", $dates[$i-1]); 
} 

// echo the results 
foreach ($dates as $date) { 
    echo date("Y-m-d", $date) . PHP_EOL; 
} 
1

먼저 언어 배열

$myDates = []; 
$firstdate = strtotime("+17 days", strtotime("2017-04-03")); 
array_push($myDates, date("Y-m-d",$firstdate)); 
for($i=0;$i<25;$i++){ 
    $lastdate = $myDates[$i]; 
    $nextdate = strtotime("+14 days", strtotime($lastdate)); 
    array_push($myDates,date("Y-m-d",$nextdate)); 
}  

echo "<pre>".var_dump($myDates)."</pre>";