首頁 >資料庫 >mysql教程 >如何在 MySQL 選擇查詢中將 UTC 日期轉換為本機時區?

如何在 MySQL 選擇查詢中將 UTC 日期轉換為本機時區?

Linda Hamilton
Linda Hamilton原創
2024-11-26 04:21:09876瀏覽

How to Convert UTC Dates to Local Time Zone in MySQL Select Query?

在MySQL 選擇查詢中將UTC 日期轉換為本地時區

問題

您正在使用包含「Dplaytime」列的Mydisplaytime」欄位的MycSQL 查詢以UTCUTCUTC格式儲存時間戳記。但是,您需要顯示本地時區的時間戳記。 CONVERT_TZ() 函數未如預期般運作。

解決方案

要使用 CONVERT_TZ() 函數將 UTC 時間戳轉換為本地時區,您必須指定兩者的時區縮寫UTC 和本地時區。正確的語法如下:

SELECT CONVERT_TZ(displaytime, 'UTC', 'LOCAL')

範例查詢

WHERE displaytime >= '2012-12-01 00:00:00'
AND displaytime <= '2013-02-22 23:59:59'
AND ct.organizationId IN (
  SELECT t.organizationId
  FROM organization_ AS t
  JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%')
  WHERE p.organizationId = 10707
)

修改後的查詢:

WHERE CONVERT_TZ(displaytime, 'UTC', 'LOCAL') >= '2012-12-01 00:00:00'
AND CONVERT_TZ(displaytime, 'UTC', 'LOCAL') <= '2013-02-22 23:59:59'
AND ct.organizationId IN (
  SELECT t.organizationId
  FROM organization_ AS t
  JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%')
  WHERE p.organizationId = 10707
)

疑難排解如果CONVERT_TZ() 不起作用,可能是因為時區表遺失或為空。您可以使用 mysql_tzinfo_to_sql 程式初始化時區表。

以上是如何在 MySQL 選擇查詢中將 UTC 日期轉換為本機時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn