2012-09-05 8 views
4

오늘 StackOverflow에서이 질문이 발생했지만 답변을 얻지 못했습니다.날짜 함수의 이상한 동작

내 질문은 내가 처음 형식은 정답을 생성하지 않는 이유 혼란 스러워요

echo date('Y-m-d',strtotime('2012-september-09')); // output - 2012-09-01 

echo date('Y-m-d',strtotime('09-september-2012')); // output - 2012-09-09 

Codepad

입니다. 어떤 도움? manual 가입일

답변

6

:

세퍼레이터는 미국 m/D/Y가 가정 슬래시 (/) 인 경우; 구분 기호가 대시 (-) 또는 점 (.) 인 경우 유럽 d-m-y 형식은으로 간주됩니다.

4

이것은 date 함수의 동작이 아니라 strtotime의 동작입니다. strtotimeDate Formats 매뉴얼 페이지에 나열된 특정 형식의 날짜 만 처리 할 수 ​​있습니다. 09-september-2012은 여기에 나열된 dd ([ \t.-])* m ([ \t.-])* y 형식이지만 2012-september-09은 지원되는 형식 중 하나와 일치하지 않습니다. 난 당신의 코드에서 생각

1

,

echo date('Y-m-d',strtotime('2012-september-09')); 

strtotime('2012-september-09')은 올바른 형식 strtotime() 날짜 기능 (2012 년 9 월-09 ') 없습니다.

는 다른 답변은 이미이 덮여있는이 링크를 http://www.php.net/manual/en/datetime.formats.date.php

+0

를 참조하십시오. –

+0

예, 타이핑이 거의 늦었습니다. –