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 服務器。
相關用法
- MySQL CONVERT_TZ()用法及代碼示例
- MySQL CONVERT( )用法及代碼示例
- MySQL CONV( )用法及代碼示例
- MySQL CONV方法用法及代碼示例
- MySQL CONCAT()用法及代碼示例
- MySQL CONCAT方法用法及代碼示例
- MySQL CONCAT_WS方法用法及代碼示例
- MySQL CONNECTION_ID( )用法及代碼示例
- MySQL CONCAT_WS()用法及代碼示例
- MySQL COUNT()用法及代碼示例
- MySQL COT()用法及代碼示例
- MySQL COMPRESS( )用法及代碼示例
- MySQL COT方法用法及代碼示例
- MySQL COALESCE()用法及代碼示例
- MySQL COS()用法及代碼示例
- MySQL COUNT方法用法及代碼示例
- MySQL COS方法用法及代碼示例
- MySQL CURTIME()用法及代碼示例
- MySQL Convert()用法及代碼示例
- MySQL CEIL方法用法及代碼示例
- MySQL CHARACTER_LENGTH()用法及代碼示例
- MySQL CEILING()用法及代碼示例
- MySQL CURRENT_TIME()用法及代碼示例
- MySQL CHAR_LENGTH()用法及代碼示例
- MySQL CHAR and VARCHAR用法及代碼示例
注:本文由純淨天空篩選整理自Arthur Yanagisawa大神的英文原創作品 MySQL | CONVERT_TZ method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。