2011-03-02 4 views
33

2011 년 3 월 3 일자 데이터베이스에이 형식의 날짜가 있으며 7 일 연장해야합니다. 내 말은 PHP - 날짜 형식을 7 일 더하기 mm dd, YYYY

 $date = $date + 7
입니다. 거기에 어떤 기능을 빌드 할 수 있습니까?

+1

가능한 중복 (HTTP ://stackoverflow.com/questions/2332681/add-number-of-days-to-a-date) – Gordon

+0

DB의 날짜 유형은 어떤 형식입니까? 최선의 방법은 데이터를 꺼내서 자신의 함수를 통해 실행하고 추가 일수를 문자열로 증가시킨 다음 DB로 다시 팝하는 것입니다. –

+0

그리고 더 많은 http://stackoverflow.com/search?q=add+7+days+date+php – Gordon

답변

97
$date = "Mar 03, 2011"; 
$date = strtotime($date); 
$date = strtotime("+7 day", $date); 
echo date('M d, Y', $date); 
+1

어쨌든 오늘 날짜와 최종 양식을 비교하는 것입니다? – Michael

+0

@Michael strtotime의 결과는 정수입니다.이 정수는 UNIX 신기원 (1970 년 1 월 1 일 00 : 00) 이후의 초 수를 나타냅니다 (예 : if ($ date <현재 날짜) 00:00).이 정수는 방금 사용한 정확한 코드를 사용하여 비교할 수 있습니다. –

+0

@Michael'time()'함수를 사용하여 현재 날짜/시간을 비교할 UNIX 타임 스탬프로 사용할 수 있습니다. –

3

예 다른 메모

$oneweekfromnow = strtotime("+1 week", strtotime("<date-from-db>")); 

, 왜 그런 데이터베이스에 날짜를해야합니까?

16

한 strtotime

여러 블로그에서 언급 한 바와 같이

, 한 strtotime()과 함께 "1개월"문제는 존재하지 않는 일에 "1개월"("다음 달") 문제를 해결 그 다음 달에는 예를 들어 MySQL과 같은 다른 구현과 다릅니다.

$dt = date("Y-m-d"); 
echo date("Y-m-d", strtotime("$dt +1 day")); // PHP: 2009-03-04 
echo date("Y-m-d", strtotime("2009-01-31 +2 month")); // PHP: 2009-03-31 
5

echo date('d/m/Y', strtotime('+7 days'));

+0

)에 감사 드리며 마지막 대답은 나를 위해 일했다. – Notorious

6

또 다른 최근과 객체 스타일의 방법은 그것을 할 수 있습니다 :

$date = new DateTime('now'); 
$date->add(new DateInterval('P7D')); 

php doc of datetime add

[날짜에 일수를 추가]의
관련 문제