2017-01-07 5 views
0

여기에서 시간 형식을 변경하려고합니다. 데이터베이스에서 PHP에서 시간을 다른 형식으로 변환 할 때 오류가 발생했습니다.

는 시간, '1400', '1300', '0', '1200'로 '900'을 저장하는 등 내가 그들과 같은 일반적인 형식을 갖고 싶어

: '0:00 AM', '12:00 PM', '1:00 PM', '2:00 PM', '9:00 AM'입니다. 코드에서

내가 사용하고 있습니다 :

$timeFormated = DateTime::createFromFormat('Gi', $myTime[$i]); 
$newDateString = $timeFormated->format('g:i A'); 

을 그러나, 나는 "비 개체의 멤버 함수 형식()를 호출합니다"라는 오류를 받고 있어요.

아무도 내가 뭘 잘못했는지 말할 수 있습니까? 감사합니다.

+2

묻는 질문 전에,'위해서 var_dump ($ timeFormated, $ MYTIME [$ I]을 할 적절 wouldnt가, $ newDateString)'first? – Xorifelse

+0

@ Xorifelse 안녕하세요, 입력 해 주셔서 감사합니다. 나는 PHP에 상당히 익숙하다. 당신은 더 구체적 일 수 있습니까? 도와 주셔서 감사합니다. – WoShiNiBaBa

+0

2 줄의 코드 뒤에 해당 코드를 복사하고 결과를 확인하십시오. – Xorifelse

답변

0

귀하의 시간이 4 자리인지 확인해야 작동합니다.

다음을 사용하여이 작업을 수행 할 수 있습니다 : 그래서

$myTime = sprintf('%04d', $myTime); 

,

$timeFormated = DateTime::createFromFormat('Gi', '0'); // FALSE - doesn't work 
$timeFormated = DateTime::createFromFormat('Gi', '0000'); // Works..! 
관련 문제