2014-09-26 2 views
1

PHP/MySQL에서 주 계산에 문제가 있습니다. 여기에 내 필요가있다시작일부터 주 번호를 계산하십시오.

나는 시작일과 시간이 "2014-09-27 00:00:00"토요일이다. 따라서 이번 주에는 firstweek (즉) 1이 걸릴 것입니다. 현재 날짜가 2014-10-03 12:16:11이면 두 번째 주나 현재 날짜가 2014-10-08 09:09 인 경우 : 12 세 번째 주로 표시됩니다. 그래서 어떻게 시작 날짜에서 현재 날짜의 주 번호를 계산할 수 있습니다.

2014-09-21 to 2014-09-27 is 1 week 
2014-09-28 to 2014-10-04 is 2 week 
2014-10-05 to 2014-10-11 is 3 week // It will continue 

그럼 어떻게 할 수 있습니까?

+1

계산을 현재 날짜와 7 일, 분할을 시작하고 사이에 많은 일이 내림 방법, 다음 추가 1 –

답변

1

당신은 DateTime 객체와이 작업을 수행 할 수 있습니다 여기에

$datetime1 = new DateTime('2014-09-28'); 
$datetime2 = new DateTime('2014-10-04'); 
$interval = $datetime1->diff($datetime2); 

// Output the difference in days, and convert to int 
$days = (int) $interval->format('%d'); 

// Get number of full weeks by dividing days by seven, 
// rounding it up, and adding one since you wanted start 
// day to be week one. 
$weeks = ceil($days/7) + 1; 

을 입증하는 phiddle입니다 : http://phiddle.net/4

+0

답장을 보내 주셔서 감사합니다.'$ datetime1 = new DateTime ('2014-09-28'); // 일요일 $ datetime2 = new DateTime ('2014-10-04');'// 토요일은 일요일이 토요일로 계산되기 때문에 일주일로 표시되지만 계산은 2 주입니다. 만약 내가'2014-10-05'을 주겠다고 가정하면, 2 주 옳은 것을 보여줍니다. – satheesh

+0

@satheesh 죄송 합니다만,이 계산이 얼마나 정확하게 작동하는지 정확하게 추종하고 있다고 생각하지 않습니다. – Schlaus

관련 문제