2016-08-11 9 views
0

申し訳ありません、これは繰り返し質問です。でも、私は正しい答えを得られませんでした。unixタイムスタンプをlaravelの人間が読める日付に変換する

私はUNIXのタイムスタンプ '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-the2k38-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') 
関連する問題