2012-08-22 3 views
0

메신저 매개 변수로 $start_date를받는 함수를 만들려고하고 우리가 2012-08-16날짜를 계산하고 PHP의 시작 날짜에 따라 주 번호를 반환 하시겠습니까?

private function get_week_number($start_date){ 
     // get current date 
     // caluculate the difference between start_date and current_date 
     // determine which week we are in 1, 2 or 3 
     // return $week 
    } 

이 어떻게 PHP에서 이것을 구현할 수에 해당 인스턴스 $의 시작일에 대한 즉

에있는 주 수를 계산해야합니까? 감사합니다

+0

내가 생각하는 얼마나 많은 7 7 일 현재 날짜와 시작 날짜 사이의 계산은 단지 문제? – user1551482

+0

[무엇을 시도해 봤습니까?] (http://whathaveyoutried.com/) –

답변

2
function get_week_number($start_date){ 
    $date = date('U', strtotime($start_date)); 
    $now = date('U'); 
    return ceil(($now-$date)/60/60/24/7); 
} 

echo get_week_number('2012-08-16'); 
+0

날짜 ('W')를 사용하면 월이 아닌 * 연도 *의 주 번호가 반환됩니다. – Fluffeh

+0

ups, 나는 그가 일주일을 요구하고 있다고 생각 : –

+0

내 대답이 업데이트되었습니다 :) –

2

당신이 필요로하는 것은 단지 date_diff이라고 생각합니다.

+0

올바른 기능 임에도 불구하고 링크가 아닌 예제로 이것을 확장 할 수 있다면 나와 +1을 얻을 수 있습니다.) – Fluffeh

0
private function get_week_number($start_date){ 
    return date('W') - date('W', strtotime($start_date)); 
} 
+0

이것은 또한 잘못되었습니다. 'date ('W')'는 주를 나타내지 만 주를 나타내지는 않습니다. – Fluffeh

+0

OP에는 번호가 필요합니다. $ start_date와 현재 날짜 사이의 주 중 하나입니다. 따라서 필요한 출력을 생성합니다. – futuregeek

+0

@futuregeek 그러나 8 월 14 일부터 8 월 22 일까지 2 주째에 있습니다. –

관련 문제