0
對不起,這可能是一個重複的問題。但仍然沒有得到正確的答案。將unix時間戳轉換爲laravel中的人類可讀日期
我有一個unix時間戳'1470900186868',它應該轉換成'Thu,2016年8月11日07:23:06.868 GMT',但我總是得到相同的值''12月20日,48580 @ 17:14 :28 UTC「。
在此先感謝。
對不起,這可能是一個重複的問題。但仍然沒有得到正確的答案。將unix時間戳轉換爲laravel中的人類可讀日期
我有一個unix時間戳'1470900186868',它應該轉換成'Thu,2016年8月11日07:23:06.868 GMT',但我總是得到相同的值''12月20日,48580 @ 17:14 :28 UTC「。
在此先感謝。
<?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;
您是否嘗試使用DateTime對象?
echo (new DateTime())
->setTimestamp(1470900186868/1000)
->format('D, d M Y H:i:s T')
時間戳是整數,最大值= 4294967296。我想你有在64位處理器的8個字節的時間戳?看看https://www.sitepoint.com/is-your-php-application-affected-by-the-y2k38-bug/ – mishanon
顯示你到目前爲止嘗試過的。 – aynber
這是以毫秒爲單位,而不是秒。將它除以1000,然後將餘數附加到字符串中。 – iainn