2016-08-11 2 views
0

죄송합니다.이 질문은 반복 될 수 있습니다.하지만 여전히 정확한 답변을 얻지 못했습니다.unix 타임 스탬프를 laravel의 사람이 읽을 수있는 날짜로 변환합니다.

유닉스 타임 스탬프 '1470900186868'이 있는데, 'Thu, 11 Aug 2016 07 : 23 : 06.868 GMT'로 변환해야하지만 '12 월 20 일 48580 @ 17:14 : 28 UTC '.

미리 감사드립니다.

+0

타임 스탬프는 정수 4294967296. = 최대 값입니다 당신이 64 비트 프로세서에 8 바이트 타임 스탬프가 됐을까? https://www.sitepoint.com/is-your-php-application-affected-by-the-y2k38-bug/ – mishanon

+0

에서 지금까지 시도한 것을 보여주십시오. – aynber

+0

초 단위가 아닌 밀리 초 단위입니다. 1000으로 나누고 그 나머지를 문자열에 추가하십시오. – iainn

답변

1
<?php 
$val = 1470900186868; 

// Grab the milliseconds as the initial value mod 1000 
$milliseconds = $val % 1000; 

// Divide by 1000 to obtain the actual timestamp 
$ts = intval($val/1000); 

// Parse into a DateTime object 
$date = DateTime::createFromFormat('U', $ts); 

// Formatted output 
echo $date->format('D, d M Y H:i:s') . '.' . $milliseconds; 
0

DateTime 개체를 사용하려고 했습니까?

echo (new DateTime()) 
    ->setTimestamp(1470900186868/1000) 
    ->format('D, d M Y H:i:s T') 
관련 문제