2014-04-24 3 views
0

10 주가 있다고 가정합니다. week_1st, week_2nd, week_3rd ..., week_10th. week_10th은 2014-05-01 00:00:00에 시작됩니다. week_5th (지난 주)의 시작일은 어떻게 찾을 수 있습니까? PHP로 보여 주시겠습니까? 고마워요. 정확히 5 백 주 (또는 무언가) 가고 싶은 경우매주 시작 날짜 찾기 PHP

+1

방법에 대한 7 일 추가? 일주일은 지구상에서 7 일 (요즘) – zerkms

+0

에 달려 있습니다. 첫 번째 날짜 (2014-05-01)가 이번주의 시작일 것이라고 확신합니까? 이것은 목요일입니다 .. 당신은 2 주 월요일을 원하십니까? 두 번째 주 목요일을 원하십니까? – Scopey

+0

매주 어떤 날이 시작되는지는 중요하지 않으며 월요일, 화요일 또는 목요일 일 수 있습니다. 그러나 week_10th가 2014-05-01 00:00:00 날짜에 시작한다면 week_5th의 시작 날짜는 무엇입니까? – TapiYuki

답변

1

, 시도 :

$date = new DateTime('2014-05-01'); 
$date->modify('-5 weeks'); 
echo $date->format('Y-m-d'); 

을 항상 (또는 유사) 월요일 얻고 싶은 경우에 당신이 시도 할 수

$date = new DateTime('2014-05-01'); 
$day = (int)$date->format('w'); 
$date->modify('-5 weeks'); 
$date->modify(1 - $day . ' days'); // 1 = Monday 
echo $date->format('Y-m-d'); 
+1

답안의 두 번째 부분은 다른 방법으로'strtotime ("5 mondays ago", $ dateint)' – msound

+0

흥미 롭습니다. 나는 그것이 가능하다는 것을 몰랐습니다. OOP에 대한 답변을 유지하기 위해서는 $ date-> modify ('5 mondays ago')도 작동한다는 점에 유의해야합니다. – Scopey