2013-07-02 5 views
0

이 날짜를 변환하려면 다음 코드를 사용하십시오 ->18/07/2013mysql 지원 형식으로 지정하십시오. 그것은 month18를 식별하기 때문에 지금
YEAR as YEAR MONTH as DAY DAY as MONTHPHP 날짜 형식 변환 오류

:

$date = date('Y-m-d', strtotime('18/07/2013')); 

이상적으로이 문제가 자동으로 문자열을 선택하는 것입니다 ...
2013-07-18를 반환해야하지만 범위를 벗어나 기본값 인 1970-01-01을 표시합니다.

나는이 일을 거의 2 일 낭비했습니다.

누구든지 도움을 주실 수 있다면 미리 감사드립니다!

+2

(않는 str_replace를 ('/', '-', '18/07/2013'))' –

+0

이 친절 새 질문을 게시하기 전에 검색을 사용 , 이것은 [Strtotime()의 복사본은 dd/mm/YYYY 형식으로 작동하지 않습니다] (http://stackoverflow.com/questions/2891937/strtotime-doesnt-work-with-dd-mm-yyyy-format)) – Prix

+0

PHP 매뉴얼 -> YY "/"MM "/"DD 이것은 날짜 함수와 함께 사용해야하는 것입니다 ... http://php.net/manual/de/datetime.formats.date. php –

답변

2

당신은 당신의 날짜의 set the time zone에 필요한이 :)

echo date('Y-m-d', strtotime(str_replace('/', '-', '18/07/2013'))); 
+0

고마워요! 매력처럼 일했습니다! – Safeer

5

DateTime 개체를 사용하면 PHP가 어떤 형식으로 날짜를 전달하는지 이해할 수 있습니다.

$date = DateTime::createFromFormat('d/m/Y', '18/07/2013'); 
echo $date ->format('Y-m-d'); 
+0

'PHP 5> = 5.3.0'이 아닌가요? PHP의 이전 버전이 내 서버에 설치되어 있습니다. – Safeer

+0

@Safeer -이 경우보다 andy & prix에 표시된대로 조정할 필요가 있습니다. – Rikesh

+0

Rikesh에게 감사드립니다. Ayyappan의 대답도 꽤 좋습니다 :) – Safeer

1

한 strtotime 매개 변수가 18-07-2013

0

을 시도 형식이어야합니다, 날짜는 미국와 미국 인 것으로 해석되는 날짜 형식은 mm/dd/yyyy ...

date_default_timezone_set('Europe/Berlin'); 
(-)

또한 right reg. expression for the date function

$date = date('YY "/" MM "/" DD', strtotime('18/07/2013')); 
0

앞으로 슬래시 (/)을 사용하여 미국의 M/D/Y 형식, 대시 의미는 (.) 유럽 D-M-Y와 기간을 의미 ISO Y.M.D. 의미

관찰 :

echo date("jS F, Y", strtotime("11.12.10")); 
// outputs 10th December, 2011 

echo date("jS F, Y", strtotime("11/12/10")); 
// outputs 12th November, 2010 

echo date("jS F, Y", strtotime("11-12-10")); 
// outputs 11th December, 2010 
당신은 strtotime으로`로 해킹 할 수