我最近用时区信息更新了 MySql,使用这里提到的信息 http://dev.mysql.com/doc/refman/5.7/en/time-zone-support.html
我面临的问题是,即使数据库现在有很多时区的信息,CDT
不是其中之一,当我进行时区转换时
使用
SELECT CONVERT_TZ(displaytime,'GMT','CDT');
它返回 null
其他转换工作虽然像
SELECT CONVERT_TZ(displaytime,'GMT','MET');
运行良好
我检查过时区表不包含有关 CDT 的信息。但我不确定如何修复它。我应该手动将其添加到表中吗?我应该使用不同的来源来导入时区信息吗?
最佳答案
您需要使用 valid IANA TZDB identifiers 的时区 ID .对于美国中部时间,请使用 'America/Chicago'
。
您应该避免使用 3 个字符的时区缩写,因为 TZDB 中只有少数几个,而且通常它们可能会产生歧义(CST
也是中国标准时间、古巴标准时间、等等...)
此外,虽然 UTC
和 GMT
将工作,但完全限定的格式是 Etc/UTC
。在实践中,您可以使用其中任何一种。
关于mysql - CDT 在 MySQL 时区中不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38075364/