在MySQL中转换时区而不访问时区表

在MySQL中转换时区而不访问时区表,mysql,timezone,Mysql,Timezone,我试图做的是将某些时间戳转换为用户的本地时间。 所以我要做的是询问用户关于他的时区,从相应的表中选择所有时区,然后让用户从列表中选择,然后 选择CONVERT_TZ'2004-01-01 12:00:00'、'UTC'、'MET' 现在问题来了。我没有访问MySQL timezone tables命令的权限,该命令拒绝用户访问“time_zone”表——可能主机不允许我访问。因此,虽然我可以执行上述命令,但我无法获取MySQL知道的所有时区名称 我之所以想使用时区名称而不是偏移量,是为了不必担心

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

选择CONVERT_TZ'2004-01-01 12:00:00'、'UTC'、'MET'

现在问题来了。我没有访问MySQL timezone tables命令的权限,该命令拒绝用户访问“time_zone”表——可能主机不允许我访问。因此,虽然我可以执行上述命令,但我无法获取MySQL知道的所有时区名称

我之所以想使用时区名称而不是偏移量,是为了不必担心夏令时之类的事情

那么我怎样才能避免这个问题呢?我正在寻找SQL请求来创建一个带有时区名称的表的副本,但只找到了一个带有GMT偏移量的表,如上所述,这对我不起作用。

我找到了这个链接,可以从中下载时区的SQL表。这种sql有一个小缺点——表国家没有数字索引,但这很容易修复。 谢谢马特·约翰逊的提示

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

MySQL使用正则表达式。你在写什么申请书吗?您的应用程序框架可能也使用这些相同的标识符。MySQL使用常规标识符。你在写什么申请书吗?您的应用程序框架可能也使用这些相同的标识符。