MySQL 時區:詳盡指南
問題: 是否有完整列表可用的 MySQL 時區清單?
答案: 是的,但根據主機作業系統的不同而有所不同。要存取該列表,您需要將時區資料載入到 MySQL 中。
如何載入時區資料:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
注意:此指令適用於 Unix 系統; Windows 的等效項未知。
列出時區:
載入資料後,您可以查看時區清單:
USE mysql; SELECT * FROM `time_zone_name`;
卡加利當地時間:
要以卡加利當地時間顯示時間,請使用以下語法:
SELECT CONVERT_TZ(CURRENT_TIMESTAMP, 'GMT', 'America/Edmonton');
其他注意:
TRUNCATE `time_zone` ; TRUNCATE `time_zone_leap_second` ; TRUNCATE `time_zone_name` ; TRUNCATE `time_zone_transition` ; TRUNCATE `time_zone_transition_type` ;
自動時區更新:
您可以設定自動系統,當系統時區變更時更新 MySQL 時區。
對於MySQL >= 5.6.6:
mysql_config_editor set --login-path=client --host=localhost --user=root --password
對於MySQL 5.6.6:
對於MySQL 建立一個~/.my.cnf文件,內容如下:[client] user=root password=yourMysqlRootPW然後,將以下腳本添加到 crontab 中以每天運行:
if [ `find /usr/share/zoneinfo -mtime -1 | grep -v '\.tab' | wc -l` -gt 0 ]; then echo "Updating MySQL timezone info" mysql_tzinfo_to_sql /usr/share/zoneinfo 2>/dev/null | mysql -u root mysql echo "Done!\n" fi請記住,這大部分未經測試。如果您遇到任何問題,請報告他們以相應更新答案。
以上是如何取得 MySQL 時區的完整清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!