2016-06-27 4 views
0

클라이언트가 시스템에 시작일과 종료일을 입력 했으므로 PHP로 서식을 지정할 수 있습니다.형식이 지정되지 않은 시간 번호를 읽을 수있는 시간으로 설정하십시오.

값은 9301530입니다. 1530 변수를 처리하는 것은 문제가 없지만 930이 false를 반환합니다.

내 스크립트는 지금까지 성공했지만 성공하지 못했습니다. 그것은 당신의 초기 시간 형식이 모호하기 때문이다 읽을 수있는 시간을 (내가 믿는?)

$time = DateTime::createFromFormat('Hi', $var); 
    $format = "H:i"; 
    $result = $time->format($format); 
+1

패스를()'이'$ 시간 = 날짜 시간 :: createFromFormat ('안녕 ', 스프린트 ('%의 04S ', $ var에)); ' – Phylogenesis

+0

그런 다음 데이터 입력을 수정해야합니다. d 올바르게 이벤트가 끝난 후 엉망을 수정보다 – RiggsFolly

답변

0

얻을 수 없기 때문에 오류가 bool(false)를 반환합니다. 이 같은 것을 할 수있는 0이 붙지 않는 당신은 시간을 가지고 모든 시간을 가정 :

$var = '930'; 
$time = DateTime::createFromFormat('Hi', str_pad($var, 4, '0', STR_PAD_LEFT)); 
$format = "H:i"; 
$result = $time->format($format); 
+0

훌륭한 물건과 코드 라인의 동일한 금액. 고마워 친구. – WebDevDanno

0

나는이를 위해 날짜 시간 신경 쓰지 것을, 그것을 분할이처럼 가입 :

$var = 1530; 
$minutes = substr($var, -2, 2); 
$hours = str_replace($minutes, '', $var); 
$time = $hours . ':' . $minutes; 

을 그런 다음 문자열을 날짜 시간을 사용 : 0 - 패드의 sprintf '를 통해

$dateTime = new DateTime($time); 
$time = $dateTime->format('H:i'); 
관련 문제