테스트 사이트 - 개발 중인 베타 버전입니다

php 날짜 +2 년 만드는 부분 질문 ㅠㅠ 채택완료

다케미카코 6년 전 조회 2,519

안녕하세요 너무 허접스러운 질문인데 고수님들 도움 좀 부탁드립니다.

 

주문일 이라는 녀석이 $data['c_inpu_date']) 이 변수를 쓰고

 

완료일 이라는 녀석으로 $new_date 라고 생각해서

 

<? $new_date = date('Y-m-d', strtotime('+2 years', strtotime($data['c_inpu_date'])));?>

 

원하는 결과 값은

주문일 2019-03-26

완료일 2021-03-26

 

이런식으로 작성을 했는데 원하는 결과 와는 달리

1972-01-01 이렇게 뜨네요

 

고수님들의 도움 부탁드립니다.

 

댓글을 작성하려면 로그인이 필요합니다.

답변 5개

채택된 답변
+20 포인트

$data['c_inpu_date'] 에 '2019-03-26' 이라고 값이 제대로 들어가있는지 확인해보세요

코드는 이상 없는것 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

다케미카코
6년 전
값은 제대로 들어가 있습니다.
다른 방식을 찾아 봐야 겠네요 답변감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

$data['c_inpu_date'] = "2019-03-26";
$new_date = date('Y-m-d', strtotime('+2 years', strtotime($data['c_inpu_date'])));
$new_date1 = date('Y-m-d', strtotime($data['c_inpu_date']. " +2 years"));
$new_date2 = date('Y-m-d', strtotime('+2 year', strtotime($data['c_inpu_date'])));

 

3가지 모두 같은 값이 출력 됩니다.

2021-03-26

data['c_inpu_date'] <-- 이 값 다시 한번 검증해보세요~

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

$data['c_inpu_date'] 이 값이 없을 겁니다.

그러면 1970-1-1 디폴트값을 갖고 계산되므로

1972-1-1이 나오는 겁니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

year 로 변경해보세요.

 

<? $new_date = date('Y-m-d', strtotime('+2 year', strtotime($data['c_inpu_date'])));?>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

6년 전

참고만 해 보새요.,

 

$wr_datetime​="2019-03-27";
$print_day=date("Y-m-d", strtotime("+2 years". $wr_datetime));
echo  $print_day;

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인