2012-03-26$effectiveDate
날짜를 포함 하는 변수가 있습니다 .
이 날짜에 3 개월을 추가하려고하는데 실패했습니다.
내가 시도한 것은 다음과 같습니다.
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate));
과
$effectiveDate = strtotime(date("Y-m-d", strtotime($effectiveDate)) . "+3 months");
내가 도대체 뭘 잘못하고있는 겁니까? 두 코드 모두 작동하지 않았습니다.
답변
다음과 같이 변경하면 예상 형식이 제공됩니다.
$effectiveDate = date('Y-m-d', strtotime("+3 months", strtotime($effectiveDate)));
답변
이 대답은 정확히이 질문에 대한 것이 아닙니다. 그러나이 질문은 날짜에서 기간을 추가 / 공제하는 방법을 검색 할 수 있기 때문에 추가 할 것입니다.
$date = new DateTime('now');
$date->modify('+3 month'); // or you can use '-90 day' for deduct
$date = $date->format('Y-m-d h:i:s');
echo $date;
답변
“작동하지 않았다”는 것은 형식이 지정된 날짜 대신 타임 스탬프를 제공한다는 것을 의미한다고 가정합니다.
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate)); // returns timestamp
echo date('Y-m-d',$effectiveDate); // formatted version
답변
날짜를 읽을 수있는 값으로 변환해야합니다. strftime () 또는 date ()를 사용할 수 있습니다.
이 시도:
$effectiveDate = strtotime("+3 months", strtotime($effectiveDate));
$effectiveDate = strftime ( '%Y-%m-%d' , $effectiveDate );
echo $effectiveDate;
작동합니다. 현지화에 사용할 수 있으므로 strftime을 더 잘 사용하는 것이 좋습니다.
답변
Tchoupi의 대답은 다음과 같이 strtotime ()에 대한 인수를 연결하여 좀 덜 장황하게 만들 수 있습니다.
$effectiveDate = date('Y-m-d', strtotime($effectiveDate . "+3 months") );
(이것은 마법의 구현 세부 사항에 의존하지만 정당하게 불신하면 언제든지 가서 볼 수 있습니다.)
답변
다음이 작동해야합니다, 이것을 시도하십시오 :
$effectiveDate = strtotime("+1 months", strtotime(date("y-m-d")));
echo $time = date("y/m/d", $effectiveDate);
답변
다음이 작동합니다.
$d = strtotime("+1 months",strtotime("2015-05-25"));
echo date("Y-m-d",$d); // This will print **2015-06-25**