2013-02-16 1 views
0

좋아요, 그래서 PHP에서 가장 좋은 방법으로 1, 2, 3, 4, & PHP로 현재 주 (월요일로 시작)의 다섯 번째 날짜. 내가 일주일의 첫째 날 스크립트를 필요현재 주 1, 2, 3, 4, 5 번째 날짜를 PHP로 표시합니다

월 8 일을 통해 4 일의 주 사용 예를 들어

... (월요일부터 시작)는 2 월 4 일 로 표시 2013 후 나는 네 번 이상은 화, 수, 목, & 금을 표시하기 위해 동일한 스크립트를 필요 ...

내가 5 스크립트 또는 하나의 스크립트로 끝날 것 모든 모임이 내가 할 수있는 복사하고 내가 필요로하는 방식대로 작동하도록 조작하십시오 ...

또한 토요일과 일요일에 동일한 작업을 수행하는 방법을 알려 주시면 크게 감사하겠습니다. 당신이 이해하지 못하는 것이 있다면

알려 주시면 노력하겠습니다 내 어려운를 명확히하기 위해 ... 미리

감사합니다!

답변

1

먼저 다른 모든 일에 간다. 이렇게하려면 date("N")에 전화하여 1인지 확인하십시오. 그렇다면 now은 원하는 월요일입니다. 그렇지 않으면 last monday입니다. 이 숫자를 strtotime으로 보내 주 월요일의 첫 번째 월요일에 해당하는 타임 스탬프를 얻으십시오. 그런 다음 24 시간 (24 * 3600 초)을 반복하여 매일 입력하십시오.

$startofweek = date("N") == 1 ? time() : strtotime("last monday"); 
for($i=0; $i<5; $i++) { 
    $day = $startofweek + 24*3600*$i; 
    echo "Day ".($i+1).": ".date("d/M/Y",$day)."<br />"; 
} 
+0

왜 더 간단한 해결책이 있는지, 이번 주에 월요일에? –

+0

@JStormThaKid 오류의 내용을 정확히 설명합니다. 코드의 시작 부분에'date_default_timezone_set'을 추가하거나 설정에서 올바르게 정의하십시오. –

+0

@Kolink - 나는 단지 너를 아주 많이 말하고 싶다 !!! 내가 필요한 코드를 꼬집어서 만들 수있었습니다. 이것은 내가 찾고 있던 바로 ... 감사합니다! – JStormThaKid

0

특수 매개 변수와 함께 strtotime을 사용할 수 있습니다. 같은 :

$time = strtotime('monday this week'); 
$time = strtotime('today'); 
$time = strtotime('next monday'); 
$time = strtotime('previous monday'); 

동일는 "현재"주 월요일 얻을 필요가 주