當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


MySQL CONVERT_TZ方法用法及代碼示例

MySQL 的 CONVERT_TZ(~) 方法將日期時間值從一個時區轉換為另一個時區。

參數

1. datetime | datetime

從一個時區轉換為另一時區的日期時間。

2. from_tz | timezone

要轉換的原始時區。

3. to_tz | timezone

要轉換到的時區。

返回值

轉換為時區的日期時間值作為 to_tz 參數傳遞。

例子

基本用法

要將東京當前本地時間轉換為 EST(東部標準時間):

SELECT NOW(), CONVERT_TZ(NOW(), 'Asia/Tokyo','America/New_York');



+---------------------+----------------------------------------------------+
| NOW()               | CONVERT_TZ(NOW(), 'Asia/Tokyo','America/New_York') |
+---------------------+----------------------------------------------------+
| 2020-05-19 22:32:17 | 2020-05-19 09:32:17                                |
+---------------------+----------------------------------------------------+

我們將東京的當前時間轉換為紐約的等效時間。

要使用偏移格式轉換時間:

SELECT CONVERT_TZ('2020-04-26 17:32:11', '+08:00', '-05:00');



+-------------------------------------------------------+
| CONVERT_TZ('2020-04-26 17:32:11', '+09:00', '-05:00') |
+-------------------------------------------------------+
| 2020-04-26 04:32:11                                   |
+-------------------------------------------------------+

這裏+08:00代表東京時間,而-05:00代表紐約時間。這些都是與 UTC(協調世界時)的偏移量。

故障排除

Linux 和 macOS

如果示例中的上述查詢返回 NULL ,請確保您已將時區表加載到 mysql 中。 MySQL 安裝過程會創建時區表,但不會加載它們。因此,我們必須通過在終端命令行中運行以下命令來手動加載它們:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

在此,請注意以下事項:

  • mysql_tzinfo_to_sql 是將信息加載到時區表的程序。

  • /usr/share/zoneinfo 是我們獲取說明時區的文件集的地方。

  • -u 是用戶名的標誌。該帳戶必須具有修改 mysql 係統架構中的表的權限。

  • -p 是密碼標誌。

如果您遇到以下錯誤:

Warning: Unable to load '/usr/share/zoneinfo/+VERSION' as time zone.

您可以通過添加強製開關來覆蓋它:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql --force
Windows

如果示例中的上述查詢返回 NULL ,則需要繼續執行以下步驟將信息加載到 mysql 中的時區表中:

1.從https://dev.mysql.com/downloads/timezones.html下載時區包文件

2. 解壓文件並將它們移動到 MySQL 目錄(例如 C:\ProgramData\MySQL\MySQL Server 8.0\data\mysql )

3. 使用以下命令加載文件中的時區信息:

mysql -u root -p mysql < file_name

在此,請注意以下事項:

  • -u 是用戶名的標誌。該帳戶必須具有修改 mysql 係統架構中的表的權限。

  • -p 是密碼標誌。

  • file_name 是步驟 2 中解壓的文件的名稱。

4. 重新啟動MySQL 服務器。

相關用法


注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | CONVERT_TZ method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。