2014-04-30 3 views
0

내가 세 달 반에서 날짜를 가져 오기 전에

$threemonthsago = date("Y-m-d", strtotime("-3 month")); 
echo "$threemonthsago"; 

그러나 내가하지 3 개월 전에 3.5 개월 전 싶어 할 수있는 것을 알고있다. 그래서 나는하려고 애를 썼다

그러나 나에게 그것이 4 월 이후 없어야하는 9 월의 무엇인가주는 나에게 정확한 날짜를주는 것처럼 보이지 않는다.

답변

2

십진수는 strtotime()이 인식하는 유효한 형식이 아니므로이 부분을 버립니다. 당신이 가진 진짜 문제는 정확히 한 달 반입니다. 2 월을 지날 경우 정말 위험합니다.

이 지정한 경우 DateTime()DateInterval()을 사용하여이 작업을 수행 다소 쉽게 정확히 한 달에 어떤 반은 다음과 같습니다

$date = new DateTime(); 
$new_date = $date->sub(new DateInterval('P3M15D')); 
echo $new_date->format('Y-m-d'); 

Demo

+0

감사합니다! 나는 대답과 코드 스 니펫을 주셔서 감사합니다 – Jayreis

+0

또 다른 시세표 어? * hm ... * –

+0

@ Fred-ii- 그들은 전에 대답을 선택했습니다. 우리는 그들에게 그들이 돌아올 지 의심스러운 이익을 줄 것입니다. –