2013-02-07 3 views
0

글자 그대로 수천 개의 유사한 질문이 있지만 필요하지 않은지 묻지 않습니다.DATETIME에 PHP로 날짜 변환하기

표준 PHP 함수로 날짜를 변환하는 모든 솔루션을 찾았습니다. 변환 할 날짜가 제 경우가 아니라면 완벽하게 작동합니다.

나는 다음과 같은 형식으로 나에게 날짜를 반환하는 타사 사이트에서 데이터를 점점 오전 :

12/20/2012 14:34 -> d/m/Y H:m 

참고 그 이상한 패턴은하지 초이 외에.

문제는 표준 strtotime 및 일부 기능으로 이러한 솔루션을 사용하려고했지만 아무 것도 내 문제를 해결하지 못했습니다. 결국 다음 솔루션을 만들었습니다.

<?php 

$data = '20/12/2012 14:34'; 

$teste = explode('/', $data); 
$teste2 = explode(' ', $teste['2']); 

$final = $teste2['0'] . '-' .$teste['1'] .'-'. $teste['0']. ' '. $teste2['1'].':00'; 

echo $final; 

완벽하게 작동하지만 눈에 띄지는 않습니다. 더 많은 경험을 가진 사람이 더 나은 해결책을 제시 할 수 있습니까? 이것은 내가 생각 해낸 것입니다

+0

'strtotime'은 어떻게 작동하지 않습니까? 솔루션에 다른 형식이 있습니다. – Kermit

+0

@njk'd/m/Y H : m'은 유효한 복합 날짜 시간 형식이 아닙니다. –

+0

@MarcusRecck OP가 그가 * 12/20/2012 * – Kermit

답변

2

: 나는 오히려 혼란스러워했다

$date = '20/12/2012 14:34'; 
$date = str_replace('/', '-', $date); 
$date = strtotime($date); 

$newdate = date('d-m-Y H:i:s', $date); 
echo($newdate); 
//returns 20-12-2012 14:34:00 

하는 당신이 찾고 있던 포맷,하지만 당신은 date() 함수 내에서 날짜 사양 중심으로 전환 할 수 있습니다합니다. PHP date()에 대한 자세한 내용은 here을 참조하십시오.

+0

내가 필요한 형식은 정확히 완료되었습니다. 감사합니다. 이 함수는 서버에 오버 헤드를 발생시키지 않습니까? 내 예제는 분명히 서버에 좋지 않다. – Renato

+0

이 스크립트의 성능에 대해서는 잘 모르지만 네이티브 함수이므로 가장 효율적인 방법이라고 생각한다. – hexacyanide

관련 문제