2012-10-17 2 views
0

'생일'에 대한 입력 필드가 있습니다. 입력시 값을 반향 출력 할 때 "MM-DD'YYYY"형식의 날짜를 반환하는 자바 스크립트 팝업을 사용하고 있습니다. 내 삽입 코드 필드는 제대로 표시하지만 $ c_birthday 에코 경우 내가Strtotime()이 올바르게 포맷되지 않았습니다.

$c_birthday = $_POST['dateBorn']; 
$birth=date('Y.m.d',strtotime($c_birthday)); 

를 사용하는 경우, 그것은 정확하게 같은 내가 $ 탄생을 에코 할 때 "2012년 10월 2일는"하지만, 그와 같이 값을 표시합니다 2012-02-10, 요일과 달을 전치 시켜서 'Ymd'를 사용해 보았는데 동일한 결과가 나옵니다.

내가 살펴 봐야 할 설정이 있습니까?

답변

4

FROM PHP DOC

참고 : m에서

날짜/D/Y 또는 DMY 형식은 다양한 구성 요소들 사이의 분리를보고 명확화되어 세퍼레이터 슬래시 (/)이면 미국의 m/d/y가 가정된다. 구분 기호가 대시 (-) 또는 점 (.) 인 경우 유럽 d-m-y 형식이 사용됩니다.

잠재적 인 모호성을 피하려면 가능한 경우 ISO 8601 (YYYY-MM-DD) 날짜 또는 DateTime :: createFromFormat()을 사용하는 것이 가장 좋습니다.

그냥 사용할 수 있습니다 명시된 바와 같이 잠재적 ambiguity을 방지하려면 :

$dt = DateTime::createFromFormat("m-d-Y", $c_birthday); 
$dt->format("Y.m.d"); 
관련 문제