【发布时间】:2014-05-18 16:54:09
【问题描述】:
我正在开发一个包含许多“日期”字段的数据库。这些日期需要转换为 UTC 以获得一些输出,我打算使用
CONVERT_TZ('theField','GMT','UTC')。
但是,@@global.time_zone 变量当前未设置(当前返回“SYSTEM”),时区信息表当前为空。我认为这需要通过运行mysql_tzinfo_to_sql shell 脚本 (http://dev.mysql.com/doc/refman/4.1/en/time-zone-support.html) 来填充。
我的问题是我没有任何类型的 shell 访问相关系统,因此我无法运行 mysql_tzinfo_to_sql 脚本。所以我有两个问题...
1) 如果 MySQL 目前使用的是“SYSTEM”时区,有什么方法可以准确地确定系统时区是什么(记住我没有 shell 或任何其他访问权限)?
2) 是否可以通过 shell 脚本以外的方式生成 MySQL 时区表中的信息,即完全在 MySQL 本身内?
感谢任何建议,谢谢。
【问题讨论】:
-
经过深思熟虑后,我不确定问题 1 是否重要。数据保存在
Date列中,因此没有与之关联的时区。time_zone表中的信息仍然是从我决定Date字段表示的任何 tz(在本例中为 GMT)到我想要作为输出(在本例中为 UTC)的任何 tz 的转换所必需的。