1 回答

TA貢獻2051條經驗 獲得超10個贊
不能說你列表中的第一項,這是我對第二項的看法。實際上有很多時區你應該知道:默認的 php 時區(來自 php.ini 的那個),服務器時區(afaik,如果 php.ini 時區是空的,它會回落到服務器的那個),mysql 的時區,部署mysql實例的服務器時區,你當前所在的時區,你用戶的時區,更不用說像mysql連接時區這樣通俗的東西了。
話雖如此,如果您不想在調試花哨的錯誤時度過一段愉快的時光,那么您希望所有系統時區都相同。實際上,它到底是什么并不重要。更重要的是,您了解它們中的每一個,并且知道它們如何適用于您的情況。將所有系統時區設置為 UTC 只是更可預測、更通用、更常見。
但如果我是你,我會保留基礎設施時區設置不變。我懷疑你從這一舉措中獲得了什么有形的東西。在前端轉換日期時間實際上是處理此類問題的常用方法。例如,在 postgres 中,可以將時區與日期時間一起保存,但它幾乎沒有用,因為它已轉換為系統時區。所以當我需要向客戶端輸出日期時間時,我會寫類似
(new AdjustedAccordingToTimeZone(
? ? new FromISO8601('2018-04-25 15:08:01+00:00'),
? ? new Moscow()
))
? ? ->value();
關于你的第三個問題,如果您查詢多行,每一行都有自己的時區,您可以隨時將這些日期轉換為您希望的任何時區。
- 1 回答
- 0 關注
- 261 瀏覽
添加回答
舉報