1
我有以下格式時間戳時偏移:2013年10月19日十八時47分30秒如何計算GMT日期戳轉換爲相對時間
我用這來轉換爲相對(x分鐘,幾小時,幾天前)的時間,但它沒有爲最近的用戶返回任何東西,我假設因爲我的系統時間是GMT -3小時,所以它將它解釋爲未來的時間。如果是這樣的話,我怎樣才能在結果中考慮GMT偏移量?
$time = strtotime('2013-04-28 17:25:43');
echo 'event happened '.humanTiming($time).' ago';
function humanTiming ($time)
{
$time = time() - $time; // to get the time since that moment
$tokens = array (
31536000 => 'year',
2592000 => 'month',
604800 => 'week',
86400 => 'day',
3600 => 'hour',
60 => 'minute',
1 => 'second'
);
foreach ($tokens as $unit => $text) {
if ($time < $unit) continue;
$numberOfUnits = floor($time/$unit);
return $numberOfUnits.' '.$text.(($numberOfUnits>1)?'s':'');
}
}
'time()'總是返回GMT。無論您的系統時區設置爲何都無關緊要。你不會說你如何獲得你開始的時間戳。他們在格林威治時間嗎 –
嘗試[this](http://stackoverflow.com/a/18602474/67332)函數,它正確地處理時區+它比您的示例更正確地計算差異。 –