在MySQL 選擇查詢中將UTC 日期轉換為本地時區
問題
A MySQL查詢需要將儲存UTC 時間戳記的「displaytime」欄位轉換為本機時區。但是,使用 CONVERT_TZ() 函數不會產生預期的結果。
答案
1。驗證錯誤訊息
檢查錯誤訊息以確定 CONVERT_TZ() 不起作用的原因。
2.確保相容的欄位類型
CONVERT_TZ() 要求輸入欄位是時間戳或日期資料型別。檢查“displaytime”列的資料類型。
3.使用正確的語法
CONVERT_TZ() 的正確語法是:
CONVERT_TZ(timestamp, source_timezone, destination_timezone)
4。用法範例
例如,要將顯示時間從 UTC 轉換為美國東部時間 (-05:00 GMT),請使用:
SELECT CONVERT_TZ(displaytime, 'UTC', 'America/New_York');
5。檢查時區表
確保 MySQL 時區表已正確初始化。執行以下命令進行檢查:
SELECT * FROM mysql.time_zone; SELECT * FROM mysql.time_zone_name;
6.載入時區資料
如果時區表為空,請使用mysql_tzinfo_to_sqlsqlp程式載入它們:
mysql_tzinfo_to_sql /usr/share/zoneinfo
以上是如何在 MySQL 選擇查詢中將 UTC 日期轉換為本機時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!