第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

處理將現(xiàn)有 laravel 應用程序從本地時區(qū)轉(zhuǎn)換為 UTC 的最佳方法

處理將現(xiàn)有 laravel 應用程序從本地時區(qū)轉(zhuǎn)換為 UTC 的最佳方法

PHP
交互式愛情 2023-04-02 14:57:07
目前,在我們的 Laravel 應用程序中,我們將時區(qū)設置如下。 'timezone' => env('TIMEZONE', 'Europe/London'),我們 MySQL 數(shù)據(jù)庫中的所有DateTime和timestamps字段也存儲在Europe/London時區(qū)中。我們的應用程序現(xiàn)在將切換到UTC,但是如果我們在我們的應用程序中更改到,目前還有一個小時,我們所有現(xiàn)有的基礎設施都會中斷BST。TIMEZONEUTC將中斷的事情包括我們現(xiàn)有的使用時間字段的查詢,因為它們將與數(shù)據(jù)庫中的記錄不同步一個小時。下面是我們在系統(tǒng)查詢中使用時間的示例Task::where('expired', '=', false)->where('expires_at', '<', Carbon::now())->get();使用上面的代碼示例,任務將提前一個小時到期,因為UTC晚了一個小時BST。由于更改為UTC將是系統(tǒng)的根本變化,我希望我能得到以下問題的答案。是否有任何資源概述了將系統(tǒng)從本地時區(qū)轉(zhuǎn)換為 UTC 的方法?UTC我應該將所有內(nèi)容都存儲起來,Europe/London然后在前端為用戶轉(zhuǎn)換,而不是轉(zhuǎn)換為嗎?有什么方法可以輕松查詢其中包含多個時區(qū)的數(shù)據(jù)庫表?感謝您的幫助,我知道這個問題很難,所以任何能指出我正確方向的東西都將不勝感激。
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經(jīng)驗 獲得超10個贊

不能說你列表中的第一項,這是我對第二項的看法。實際上有很多時區(qū)你應該知道:默認的 php 時區(qū)(來自 php.ini 的那個),服務器時區(qū)(afaik,如果 php.ini 時區(qū)是空的,它會回落到服務器的那個),mysql 的時區(qū),部署mysql實例的服務器時區(qū),你當前所在的時區(qū),你用戶的時區(qū),更不用說像mysql連接時區(qū)這樣通俗的東西了。


話雖如此,如果您不想在調(diào)試花哨的錯誤時度過一段愉快的時光,那么您希望所有系統(tǒng)時區(qū)都相同。實際上,它到底是什么并不重要。更重要的是,您了解它們中的每一個,并且知道它們?nèi)绾芜m用于您的情況。將所有系統(tǒng)時區(qū)設置為 UTC 只是更可預測、更通用、更常見。


但如果我是你,我會保留基礎設施時區(qū)設置不變。我懷疑你從這一舉措中獲得了什么有形的東西。在前端轉(zhuǎn)換日期時間實際上是處理此類問題的常用方法。例如,在 postgres 中,可以將時區(qū)與日期時間一起保存,但它幾乎沒有用,因為它已轉(zhuǎn)換為系統(tǒng)時區(qū)。所以當我需要向客戶端輸出日期時間時,我會寫類似


(new AdjustedAccordingToTimeZone(

? ? new FromISO8601('2018-04-25 15:08:01+00:00'),

? ? new Moscow()

))

? ? ->value();

關(guān)于你的第三個問題,如果您查詢多行,每一行都有自己的時區(qū),您可以隨時將這些日期轉(zhuǎn)換為您希望的任何時區(qū)。



查看完整回答
反對 回復 2023-04-02
  • 1 回答
  • 0 關(guān)注
  • 272 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號