設定 MySQL 時區
了解 MySQL 中的時區設定對於確保準確的日期和時間表示至關重要。本指南全面概述了在 MySQL 中設定時區的位置和方式,使開發人員能夠有效管理時間敏感資料。
MySQL 中的時區配置
MySQL 允許在三個不同位置配置時區:
-
my. : 在[mysqld] 部分中,default-timezone 參數指定所有MySQL連接的全域預設時區。
-
@@global.time_zone 變數: 這個全域變數表示用於所有系統層級操作的時區。可以使用 SET GLOBAL time_zone 指令進行設定。
-
@@session.time_zone 變數: 每個 MySQL 會話都可以有自己的時區設置,由 SET time_zone 指令管理。預設情況下,會話時區繼承自@@global.time_zone。
填充時區資訊表
要啟用命名時區,時區資訊必須填入表。這可以透過遵循 MySQL 文件中提供的說明或透過第三方工具來實現。
查看和修改時區
要確定當前時區設置,執行以下查詢:
- SELECT @@global.time_zone;
- SELECT @@session.time_zone;
要設定時區,請使用下列指令之一:
- SET GLOBAL time_zone = ' 00:00';
- SET time_zone = '歐洲/赫爾辛基';
附加時區函數
MySQL 提供了各種函數來有效管理時區和時間戳記。其中包括:
- TIMEDIFF(NOW(), UTC_TIMESTAMP);傳回目前時區偏移。
- SELECT UNIX_TIMESTAMP();擷取目前 UNIX 時間戳記。
- SELECT UNIX_TIMESTAMP(CONVERT_TZ(utc_datetime, ' 00:00', @@session.time_zone)) FROM table_name;將 UTC 日期時間列轉換為目前會話時區中的 UNIX 時間戳記。
注意:
更改時區不會影響基礎儲存的日期時間或時間戳記。但是,現有時間戳列的顯示方式會有所不同,因為它們在內部儲存為 UTC 時間戳,在外部顯示為目前 MySQL 時區。
以上是如何有效管理MySQL中的時區?的詳細內容。更多資訊請關注PHP中文網其他相關文章!