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

Patricia Arquette
发布: 2024-11-03 00:01:02
原创
809 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板