2013-09-06 3 views
-2

나는 이것을 수행하는 방법에 대해 읽었으며 대부분이 솔루션을 생각해 냈습니다. 시간 형식을 표시하고 싶습니다. 이 반환 몇 가지 이유를 들어 datetime 필드 타임 스탬프를 mysql에서 php로 변환

$starttime = "1899-12-30 06:52:47"; 
<?php echo date("h:i:s",strtotime($starttime)); ?> 

"16시 0분 0초"

은 내가 잘못 뭐하는 거지?

+2

이기 때문에 가능할 수 있습니다. 1899 년은 유닉스 에포크보다 앞서서 코드 출력을 예측할 수 없기 때문일 수 있습니다 기껏해야. – Sammitch

+0

1899가 Unix Epoch 이전이므로 strtotime() 함수가 임의의 결과를 얻었 기 때문에 실패합니다. – Rottingham

+2

time(), strtotime 및 date() 함수를 사용하여 STOP하고 DateTime 클래스를 사용하여 START합니다. –

답변

4

의견에서 언급 한대로 귀하의 날짜는 유닉스 시대 이전입니다. DateTime()을 사용하면이 문제를 해결할 수 있습니다.

$dt = new DateTime("1899-12-30 06:52:47"); 
echo $dt->format("h:i:s"); 
-1
$starttime = "1899-12-30 06:52:47"; 
echo date("h:i:s",strtotime($starttime)); 

이 코드는 저와에 "6시 52분 47초"에 대한 확인을 작동합니다. 1899 년이 유닉스 시대 이전 (00:00:00, 1970 년 1 월 1 일 목요일)의

+0

UNIX'time_t '값이 표현할 수있는 값의 범위는 1901-12-13과 2035-01-18 사이입니다. 신기원은 '0'이지만 양수 및 음수 값은 허용됩니다. – tadman

관련 문제