2010-03-25 2 views
3

전 데이터베이스에서 지난 주와 다음 주 항목을 찾기 위해 strtotime을 사용하고 있지만 지난 6 일을 찾는 방법은 찾을 수 없습니다. 사용자가 지난 날짜를 선택하면 내가 아는 방법은 다음과날짜가 지정된 이전 6 일을 찾으려고 시도

은 무엇 오늘과 육일 이전 아르 : 내 사용자의 입력에 의해 제공

$today = date("Y-m-d"); 
$minus6 = date('Y-m-d', strtotime('-6 days')); 

지금 어떻게 $ 날짜 열으로 $ 오늘 전환 할 수 있습니다? 는 내 구글 검색을 기반으로이 같은 것을 생각하지만, 어떤 결과를 얻을 수 없습니다 :

$dateString = 2010-01-25; // for example 
$minus6 = date('Y-m-d', strtotime('-6 days, $dateString'); 

내가 날짜, strtotime으로, 또는 무엇에 관한 몇 가지 기본적인 정보를 실종을? 어떤 도움을 주셔서 감사합니다.

답변

1

실제 날짜를 strtotime()에 넣어야합니다.

$dateString = "2010-01-25"; // for example 
$minus6 = date('Y-m-d', strtotime("$dateString -6 days")); 

... 또는 고든의 대답에 따라) 두 번째 매개 변수 (strtotime으로하기로 명시 적으로 타임 스탬프로에 패스 -을 예를 들어 :

$dateString = 2010-01-25; // for example 
$minus6 = date('Y-m-d', strtotime('-6 days, $dateString')); 

이 될 것이다. strtotime

+0

+1. 당신이 한 번에 날짜 문자열과 수정자를 할 수 있다는 것을 몰랐습니다. 단일 따옴표 $ datestring을 평가할 수 없기 때문에 작은 따옴표를 큰 따옴표로 변경했습니다. – Gordon

+0

맞습니다. 적절한 기본 설정 방법이 있는지 확실하지 않습니다. 견적을 찾아 내기위한 환호성. –

+0

좋아, 그랬어. 큰 따옴표로 작동합니다. 그러나 나는 '$ dateString, -6 days'사이에 쉼표를 사용하는 것으로 생각합니다. – Bryan

3

두 번째 PARAM은 첫 번째 인수가 계산됩니다되는 시간 소인입니다 :

echo date('Y-m-d', strtotime('-6 days', strtotime($dateString)); 

하지만 당신은 like Gavin suggested 그것을 또한 할 수 있습니다.

관련 문제