我期待在PDO-MSSQL連接上設置時區(每個會話),以便getdate()可用於存儲和返回用戶的本地時間(歐洲/倫敦)PDO&MSSQL - 如何更改每個連接的時區
Google爲MYSQL返回了數百個結果;但對MSSQL沒有任何幫助。所以,看起來這是MySQL的答案:
$ PDO->的setAttribute(PDO :: MYSQL_ATTR_INIT_COMMAND =>「SET TIME_ZONE ='歐洲/倫敦
是否有MSSQL等效
?感謝
克里斯
我期待在PDO-MSSQL連接上設置時區(每個會話),以便getdate()可用於存儲和返回用戶的本地時間(歐洲/倫敦)PDO&MSSQL - 如何更改每個連接的時區
Google爲MYSQL返回了數百個結果;但對MSSQL沒有任何幫助。所以,看起來這是MySQL的答案:
$ PDO->的setAttribute(PDO :: MYSQL_ATTR_INIT_COMMAND =>「SET TIME_ZONE ='歐洲/倫敦
是否有MSSQL等效
?感謝
克里斯
微軟SQL Server沒有一個會話時區的概念,所以回答你的問題很簡單 - 號
但是,在SQL Server中有時區的解決方案。在SQL Server 2016中,爲AT TIME ZONE
添加了支持,因此可以在時區之間轉換數據元素(類似於MySQL的CONVERT_TZ
函數)。這雖然使用Microsoft Windows時區標識符,但不是標準的IANA/TZDB標識符。如果你想支持那些(如你提到的Europe/London
),那麼你需要使用像我的SQL Server Time Zone Support開源項目。
如果您確實需要在數據庫層執行時區轉換,則只需要使用這兩種方法中的任何一種。在絕大多數情況下,你並不需要這樣做。相反,在應用層處理時區轉換。 PHP對時區有很好的支持,所以你不需要在數據庫中完成。
如果你有一個特定的情況,然後問一個新的問題(搜索後,看看它是否已被問)。
謝謝 - 我有一種感覺,這是未來;就像你說的那樣,我可以在應用程序層處理它;只需在連接處添加一條線就簡單多了! –