首页 >数据库 >mysql教程 >如何找到 MySQL 时区的详尽列表?

如何找到 MySQL 时区的详尽列表?

Patricia Arquette
Patricia Arquette原创
2024-11-03 00:01:02866浏览

How can I find an exhaustive list of MySQL time zones?

MySQL 时区的详尽列表

简介

MySQL 利用时区来处理各种情况日期和时间计算,但用户在访问 MySQL 时区的完整列表时遇到挑战并不少见。

MySQL 时区对主机操作系统的依赖

MySQL 设置中的有效 time_zone 值通常取决于主机操作系统。然而,查找支持的时区的详尽列表可能具有挑战性。

将时区数据加载到 MySQL

默认情况下,MySQL 不会加载时区数据,除非手动加载已加载。要加载它,请执行以下命令:

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

加载数据后,执行以下命令查看时区列表:

USE mysql;
SELECT * FROM `time_zone_name`;

卸载时区数据

如果需要,可以通过执行以下命令从 MySQL 卸载时区数据:

TRUNCATE `time_zone` ;
TRUNCATE `time_zone_leap_second` ;
TRUNCATE `time_zone_name` ;
TRUNCATE `time_zone_transition` ;
TRUNCATE `time_zone_transition_type` ;

删除表的注意事项

切勿删除这些表,因为这可能会导致严重问题。

自动时区更新

为了确保定期更新时区,您可以启用root 登录无需密码提示,并设置一个 cron 作业每天执行以下脚本一次:

#!/bin/bash

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

配置卡尔加里的时区

显示时间卡尔加里当地时间,使用以下时区:

America/Edmonton

示例查询

以下查询将时间戳转换为卡尔加里当地时间:

SELECT CONVERT_TZ('2023-03-08 15:00:00', 'GMT', 'America/Edmonton');

以上是如何找到 MySQL 时区的详尽列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn