2013-02-07 2 views
2

주말을 제외한 나머지 일을 얻는 방법을 알고 싶습니다. 나는 2 개의 날짜를 뺀 것을 시도했다 그러나 나는 주말 제거에 어떤 해결책든지 찾아내는 것을 보인다. 내 코드는 다음과 같습니다.주말을 제외한 나머지 일수 받기

  $date_registered = date('Y-m-d'); 
      $date_planned = $_POST['start_date']; 
      $dueDate = $date_registered; 
      $numDays = 3; 
      $counter = 1; 
      while ($counter <= $numDays) { 

       $dueDate = date("Y-m-d", strtotime(date("Y-m-d", strtotime($dueDate)) . " +1 day")); 
       $dayOfTheWeek = date("l",strtotime($dueDate)); 

      if ($dayOfTheWeek == "Saturday" || $dayOfTheWeek == "Sunday") { 
        continue; 
       }else { 
        $counter++; 
       } 

      } 
      echo $date_registered.'<br>'; 
      echo $date_planned.'<br>'; 
      //echo $dueDate; 
      $remaining_days = strtotime($date_registered) - strtotime($date_planned); 
      echo $remaining_days/86400; 

나는 주말을 제외하는 방법을 모릅니다. 당신이 나를 도울 수 있기를 바랍니다.

답변

4

이 하나

$date = date('Y-m-d'); 
$total_days_left = (strtotime($end_date) - strtotime($current_date))/(60 * 60 * 24); 
while (strtotime($date) <= strtotime($end_date)) { 
    $timestamp = strtotime($date); 
    $day = date('D', $timestamp); 

    if($day=='Sat' || $day=='Sun') { 
    $count++ ; 
    } 
    $date = date ("Y-m-d", strtotime("+1 day", strtotime($date))); 
} 

는 당신이 어떤 문제에 직면 알려줘보십시오. 카운트는 이틀간 끝나는 주말 일수를 제공합니다. 남은 날을 쉽게 계산할 수 있습니다.

$total_day_left_excluding_weekends = $total_days_left - $count; 

공식 PHP 사이트에서 datestrtotime를 참조하십시오.

+0

작동 여부 – Deep123

+0

잘 작동합니다. 나는 단지 위선적 인 말을 듣고 남은 날을 올바르게 보냈습니다. – arukiri123

+0

지금 들으셨습니까? 또는 아직 안돼 ?? – Deep123

0
$time = $sTime = START_TIMESTAMP; 
$eTime = END_TIMESTAMP; 
$count = 0; 

while(date('w', $time) != 0) { 
    $time += 86400; 
} 

while($time < $eTime) { 
    $count++; 
    $time += 7 * 86400; 
} 
+0

1 일! = 24 시간, 1 일! = 86400 초, 대신 strtotime()을 사용하십시오! – HamZa

관련 문제