2014-03-13 2 views
9

(ISO8601 형식에 )이를 변환하는 방법 : 2014-03-13T09 : 05 : MySQL의 날짜 형식이로 50.240Z어떻게 PHP에서 날짜 형식으로 ISO8601를 변환하는

() : 2014-03-13

(PHP)?

+0

글쎄, 확실히 그걸 잡는 것 같아. 'T' 전에 오는 입력의 일부는 여러분이 원하는 결과를 줄 것입니다. 예를 들어'substr '을 사용하여이를 시도 했습니까? – Jon

+0

[PHP 사용 : ISO8601 날짜를 다른 형식으로 변환하는 방법] (http://stackoverflow.com/questions/6458585/using-php-how-convert-an-iso8601-date-to-a-different -format) –

답변

13

$date = '2014-03-13T09:05:50.240Z'; 

$fixed = date('Y-m-d', strtotime($date)); 

전체 날짜 함수 문서는 여기에서 찾을 수 있습니다 시도 : http://php.net/manual/en/function.date.php

PHP 함수 "한 strtotime"는 유닉스 타임 스탬프로 TIMESTRING 변환 후 아무 것도하지 않습니다. 내가 :)

시 도움이 될 수

희망 : 단지의 경우 한 strtotime에 사용 0 시도를 반환이 :

$date = '2014-03-13T09:05:50.240Z'; 

$fixed = date('Y-m-d', strtotime(substr($date,0,10))); 
+2

정말 고마워 ... 정말 멋져! 0을 반환하면'date ('Y-m-d', strtotime (substr ($ date, 0,10)))'를 마지막으로 사용한 노트가 완벽했다. 그것은 저를 위해 잘 작동 한 것입니다! 그것은 나에게 많은 도움이되었다! 고마워요 ... :) – Neel

+0

환영합니다 :) 기꺼이 도와 드리겠습니다. – ThatMSG

1

단순히 strtotime와 함께 사용하여 유닉스 타임 스탬프로 날짜 설명을 변환 한 다음 다섯 가지 형식 Date Formats

가 반드시 당신을 위해 작동합니다 시도해보십시오.

$date = '2014-03-13T09:05:50.240Z'; 

$fixed = date('Y-m-d', strtotime($date)); 
+0

Thx Mitul. 그것이 작동하는 것처럼 보입니다. 그러나 형식이 제 원래 질문과 다른 경우, 예를 들면 :'Thu Mar 13 2014 17:21:17 GMT + 0530 (인도 표준시)'는 변환 된 후'$ fixed '값이 출력됩니다 그것은 1970-01-01. 그래서이 형식에 대한 다른 방법입니까? – Neel

+0

실제로 @ThatMSG'date ('Y-m-d', strtotime (substr ($ date, 0,10)))'작업 중! Mitul에게 감사드립니다. – Neel

+1

@blackops_programmer : 보내시는 형식이 무엇이든간에 확실히 작동합니다. [예제를 확인하십시오] (http://codepad.org/J33kvRm4). –

3

당신은 OOPDateTime()도를 사용하여 할 수있는 PHP 5.2.0 때문에 (물론 OOP를 선호하는 경우) :

$now = new DateTime("2014-03-13T09:05:50.240Z"); 
echo $now->format('Y-m-d'); // MySQL datetime format 
관련 문제