首頁 >資料庫 >mysql教程 >如何有效管理MySQL中的時區?

如何有效管理MySQL中的時區?

Barbara Streisand
Barbara Streisand原創
2024-12-15 14:33:11175瀏覽

How Can I Effectively Manage Time Zones in MySQL?

設定 MySQL 時區

了解 MySQL 中的時區設定對於確保準確的日期和時間表示至關重要。本指南全面概述了在 MySQL 中設定時區的位置和方式,使開發人員能夠有效管理時間敏感資料。

MySQL 中的時區配置

MySQL 允許在三個不同位置配置時區:

  1. my. : 在[mysqld] 部分中,default-timezone 參數指定所有MySQL連接的全域預設時區。
  2. @@global.time_zone 變數: 這個全域變數表示用於所有系統層級操作的時區。可以使用 SET GLOBAL time_zone 指令進行設定。
  3. @@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中文網其他相關文章!

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