2013-04-29 6 views
0
<?php 
    $endDate = date("Y-m-d", strtotime("fourth monday april ". date("Y", strtotime("2013-04-01"))));  
    echo $endDate 
?> 

정답이 2013-04-22 인 이유는 다음과 같습니다.strtotime (월 [일]의 [일])

언제든지 검색하는 요일이 한 달에 떨어지는 경우 일 카운터 (즉, "네 번째")는 항상 한 달 이상 표시됩니다.

예 : '2013 년 3 월 수요일'은 2013-05-15 때 2013-05-22를 출력합니다.

나는 이것을 수정하는 방법을 추측하고 있는데, 그 달의 첫날이 당신이 찾고있는 당일인지 그리고 이에 따라 낮의 카운터 ("제 4의", "제 3의"등)를 줄이는 지 알 것입니다.

+0

아마도 당신은 년, 월, 일을 지정했기 때문에 당신은 아마 당신입니까? –

+0

그냥 가정하지만 아마 "2013 년 4 월 1 일 이후에 네 번째 월요일"이라고 해석하고 있습니다. –

답변

3

변경에 말씨 :

fouth monday of april ". date("Y", strtotime("2013-04-01"))

의 핵심은 of 서비스를 제공합니다.

+1

재미있는 것은 제목이 실제로 ** [월] [년] 중 'n 번째 [일] **'이라고 말하고 있기 때문입니다. 대답. –

+0

감사합니다. 완벽하게 작동합니다. 필자가 PHP 매뉴얼에서 본 몇 가지 예제는 생략되었으므로 필자가 한 것입니다. 그 설명서는 거짓말이었습니다. – Neve12ende12