2012-09-08 2 views
3

나는 사람이 읽을 수있는 형식으로 다음 문시대 날짜 변환

date('d-m-Y',strtotime('1349042399999')); 

와 PHP 5.3 획기적인 타임 스탬프를 변환하려고하고 잘못된 결과를 얻고있다 : 01-01-197030-09-2012를 반환해야 무엇을. 나는 주위의 검색 및 다음 주제가 PHP strtotime returns a 1970 date when date column is null 창립했지만 내 경우에는 도움이되지 않았다.

+1

'1349042399999'이 (가) 정수 제한을 초과하면 정수 오버플로가 발생합니다. –

답변

6

이유는 정수 오버플로 제한을 초과를 유발하는 타임 스탬프에 포함 된 밀리 초 있다는 것입니다.

은 지난 3 개 문자를 잘라, 당신은 갈 수 있어요 :

$original_timestamp = "1349042399999"; 
$timestamp = (int) substr($original_timestamp,0,-3); 

echo date('d-m-Y',$timestamp); 
+0

도움을 주셔서 감사합니다. –

+0

@KakukiPeter :이 답이 문제를 해결 한 경우, 답안 점수 아래에있는 큰 녹색 눈금 표시를 클릭하여 upvoting하고 수락하십시오. –

+0

지난 3 개의 문자를 잘라내는 제안을 찾을 때까지 몇 시간 동안이 작업을했습니다. 잘 했어! – blakeage

0

strtotime을 사용하면 타임 스탬프를 다른 타임 스탬프로 변환하려고합니다. 시간 소인 또한 마이크로 초입니다. date 기능은 너무 같은 마이크로없이 타임 스탬프를 필요 : 그것에 대해

date('d-m-Y',substr('1349042399999', 0, -3)); 
0

나는 제 2 차 Rikudo 솔루션 때문에 때문이 아니라 밀리 초를 트리밍의, int로 캐스트의 일을 있다고 생각합니다.

이 (나를 위해 한) 당신을 위해 일

$ original_timestamp = "1349042399999"것을 나에게 보인다

; 날짜 ('d-m-Y', (int) $ original_timestamp);