2015-02-25 2 views
1

У меня есть код:дата Count, когда цикл каждого месяца

$dateporngprakfin = "2015-02-01" 

for($i=1;$i<=6;$i++){ 

      $dateporngprakfin = strtotime("+1 months", $dateporngprakfin); 
      $datesum = date('Y-m-d', $dateporngprakfin); 
      echo $datesum."<br>"; 
} 

Этот код будет показывать «2015-03-01» до «2015-08-01», но я хочу, чтобы подсчитать дату каждого месяца ,

+0

Что вы имеете в виду по дате счетов? Какова ваша ожидаемая отдача отсюда? – Rikesh

+0

$ dateporngprakfin = "2015-02-01" добавить a; at final –

+0

'$ dateporngprakfin = strtotime (« + $ i months », $ dateporngprakfin);' –

ответ

0

Привет Попробуйте это, чтобы получить необходимую дату

 $dateporngprakfin = "2013-12-31"; 
     $monthsToAdvance=1; 
     function getDates($startDate, $monthsToAdvance) 
     { 
        $dt = new DateTime($startDate); 
        $day = $dt->format('d'); 
        $dt->setDate($dt->format('Y'),$dt->format('n'),1); 
        $dt->add(new DateInterval('P'.$monthsToAdvance.'M')); 
        $daysInMonth = cal_days_in_month(CAL_GREGORIAN,$dt->format('n'), $dt->format('Y')); 
        if($day > $daysInMonth) $day = $daysInMonth; 
        $dt->setDate($dt->format('Y'),$dt->format('n'),$day); 
        return $dt->format('Y-m-d'); 
     } 
     echo getDates($startDate, $monthsToAdvance) 

Обратитесь к этой странице для более подробной функции here

1

использование cal_days_in_month().

$dateporngprakfin = date_create("2015-02-01"); 
    for($i=1;$i<=6;$i++){ 
     date_add($dateporngprakfin, date_interval_create_from_date_string('1 Months')); 
     $countDays = cal_days_in_month(CAL_GREGORIAN, date_format($dateporngprakfin, 'm'), date_format($dateporngprakfin, 'Y'));   
     echo "<br />Count Days in ".date_format($dateporngprakfin, 'Y-m')." is ".$countDays; 
    } 
+0

что такое CAL_GREGORIAN –

+0

Constant Calender Greogian .. вы можете видеть на [link] (http://php.net/manual/en/function.cal-info.php) – check

+0

этот код будет считать день в месяце, но i хотите, чтобы больший месяц вычитал меньший месяц, чтобы показать результат дня. ex: –

0

Вы можете попробовать это, чтобы вычислить дни в месяце

$number = cal_days_in_month(CAL_GREGORIAN, 8, 2003); 

он возвращает количество дней в месяце 8 2003 года

Смежные вопросы