2014-05-12 3 views
0

내 사이트에는 사용자가 MM/DD/YYYY 형식으로 날짜를 선택할 수있는 부트 스트랩 datepicker가 있습니다 (예 : 2014 년 5 월 12 일). 그런 다음이 데이터가 제출되면 다음 PHP 코드를 사용하여 Datetime 유형으로 변환 한 다음 MySQL의 start_date (DATETIME 데이터 유형) 열에 삽입합니다.날짜 틀린 값 PHP와 MySQL

$start_date = date('Y-m-d', $_POST['start_date']); 

PHP의 삽입 쿼리는 날짜를 다시 포맷하지 않습니다. 단지 해당 열에 삽입하기 만하면됩니다.

그러나, 대신에 삽입하는 '2014년 5월 12일', 데이터베이스에 삽입 된 값은 '1970-01-01'이다. 그건 나에게 이상한 일이야. 아무도 나에게 여기에서 잘못된 점을 말해 줄 수 있습니까? 이것은 잘못된 PHP 함수 또는 잘못된 표준 시간대 설정을 사용하거나 ...

답변

2

그냥 이렇게 :

$start_date = date('Y-m-d', strtotime($_POST['start_date'])); 
+0

감사를 작동합니다. 아마도 다음 번에 나는이 같은 바보 같은 질문을하기 전에 더 많은 것을 할 것입니다. – DucCuong

+0

@DucCuong 기꺼이 도와 드리겠습니다. 정답으로 수락하십시오. – ThisBoyPerforms

+0

물론 stackoverflow를 사용하면 몇 분 후 정답을 수락 할 수 있습니다 (약 5 분 소요) – DucCuong

1

$ _POST에서 strtotime()을 사용할 수도 있습니다.

$start_date = date('Y-m-d', strtotime('05/12/2014')); 
+0

감사가 올바르게 제대로 작동 – DucCuong