首页 > 解决方案 > 在不访问时区表的情况下转换 MySQL 中的时区

问题描述

我要做的是将某些时间戳转换为用户的本地时间。所以我要做的是询问用户他的时区(从相应的表中选择所有时区,然后让用户从列表中选择)然后

SELECT CONVERT_TZ('2004-01-01 12:00:00','UTC','MET')

现在的问题。我无权访问 MySQL 时区表(表 'time_zone' 的用户'' 拒绝命令 - 可能主机不允许我)。因此,虽然我可以执行上述命令,但我无法获取 MySQL 知道的所有时区名称。

我想使用时区名称而不是偏移量的原因是不要担心夏令时之类的事情。

那么我该如何规避这个问题呢?我正在寻找 SQL 请求以创建具有时区名称的表的副本,但只找到了具有 GMT 偏移量的表,这对我不起作用,如上所述。

标签: mysqltimezone

解决方案


我发现这个链接timezonedb.com可以下载时区的 sql 表。该 sql 有一个小缺点 - 表国家没有数字索引,但这很容易修复。感谢马特约翰逊的提示!


推荐阅读