2013-10-15 17 views
-2

任何一個可以給我一個解決方案找到日期之間給定的日期,而不使用DATEINTERVAL功能的PHP?如何在給定的日期之間得到日期在PHP 5?

我迄今爲止嘗試:

$event_start_on='2013-09-01 01:06:00'; 
$event_expire_on='2013-10-01 01:06:00'; 
    $getdates=array(); 
         $d=0; 
         if($rs->report_cycle=="Weekly"){ 
          $takeinterval=new DateInterval('P7D'); 
         } 
         else if($rs->report_cycle=="Biweekly"){ 
          $takeinterval=new DateInterval('P15D'); 
         } 
         else if($rs->report_cycle=="Monthly") 
         { 
          $takeinterval=new DateInterval('P30D'); 
         } 
         else{ 
          $takeinterval=new DateInterval('P1D'); 
         } 

         $period=new DatePeriod($event_start_on,$takeinterval,$event_expire_on); 
         foreach($period as $dt){ 
         $getdates[$d]=$dt->format("Y-m-d H:i:s"); 
         $d++; 
         } 
+0

你甚至作出努力的解決方案? –

+0

我其實有一個整潔乾淨的解決方案,但我覺得沒有必要發佈它,因爲你沒有努力去解決這個問題。 –

+0

爲什麼規定不使用DateInterval?你能解釋你的問題是什麼嗎? –

回答

0

這裏是不使用DateInterval

switch ($rs->report_cycle){ 
    case "Weekly": 
     $period = '+1 week'; break; 
    case "Biweekly": 
     $period = '+15 days'; break; 
    case "Monthly": 
     $period = '+1 month'; break; 
    default: 
     $period = '+1 day'; 
} 
$start = new DateTime('2013-09-01'); 
$end = new DateTime('2013-10-01'); 
while ($start < = $end) 
{ 
    echo $start->format("m/d/Y") . PHP_EOL; 
    $start->modify($period); 
} 
+0

我需要在兩個日期間隔之間的每週,每兩週,每月的日期。 – anumavu

+0

即使這很容易編輯自己,我已經爲你做了這個改變。希望這篇文章對你有教育意義。 –

相關問題