[英]Handle TimeZone with laravel and eloquent
我使用 laravel 和 eloquent 編寫了一個應用程序,我所有的日期時間都使用 UTC 時間存儲,我的數據庫也使用 UTC。前端向用戶顯示正確的時區,但此時我有一個大問題:
我正在嘗試查詢今天將發生的所有事件,但使用 utc 時區,我的許多事件都存儲在第二天。我在巴拿馬,一個事件將在 20:00 發生,但在 UTC 將在次日01:20。
如何使用 carbon 和 eloquent 查詢今天將發生的事件?
$date = (!$request->date ? Carbon::today() : Carbon::parse($request->date));
$matches = Match::whereDate('matches.matchtime', '=', $date)
->where('sport','=', $value)
->with('results')
->get();
如果用戶沒有發送我今天用來獲取數據的日期.. 但這是一個問題,因為當我嘗試獲取今天的比賽或事件時,我會得到昨天在我的時區發生的事件。
您可以在調用該方法時將時區傳遞給Carbon::today()
因此,如果您只想獲得相對於您的時區的“今天”,您可以這樣做
Carbon::today('America/Panama');
這將獲得巴拿馬一天開始的時間戳。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.