重要信息知道:調整陣列輸出用於用戶時區
數據庫存儲用戶時區作爲數字偏移(例如:在EST用戶具有一個時區柱值-4"
服務器時間爲UTC
我回國與工作日和小時顯示它的希望分組集合數據查詢在熱圖上。
到目前爲止,這是我的。
$timezone = Auth::user()->timezone;
$week_data = DB::select('SELECT COUNT(id) as total, WEEKDAY(created_at) AS week_day ,HOUR(created_at) as hours
FROM messages
GROUP BY week_day, hours');
一些例子:
,「WEEK_DAY」是星期幾(0 =星期一,6 =星期日)的數字表示 和小時是一種數字表示在一天中的小時(以24小時格式)
目前,隨着week_day-> 2和小時 - >裝置23星期三的對象在下午11點IN UTC
獲得查詢結果後,我使用foreach循環,其中$ new_array是我以前實例化的變量(未顯示)
foreach ($week_data as $data)
{
if ($data->week_day == 0)
{
$new_array['Monday'][$data->hours] = $data;
}
elseif ($data->week_day == 1)
{
$new_array['Tuesday'][$data->hours] = $data;
}elseif ($data->week_day == 2)
{
$new_array['Wednesday'][$data->hours] = $data;
} elseif ($data->week_day == 3)
{
$new_array['Thursday'][$data->hours] = $data;
}
elseif ($data->week_day == 4)
{
$new_array['Friday'][$data->hours] = $data;
}
elseif ($data->week_day == 5)
{
$new_array['Saturday'][$data->hours] = $data;
}
elseif ($data->week_day == 6)
{
$new_array['Sunday'][$data->hours] = $data;
}
}
現在的數據分離,我試圖找到一種方法,我可以調整陣列數據反映用戶時區的偏移量。因此,信息應該以某種方式在與開關盒一起到達foreach循環之前進行處理。有沒有人曾經處理過這個問題?謝謝!