我最近用时区信息更新了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的信息。但我不知道如何解决它。我应该手动添加到表中吗?我应该使用不同的源来导入时区信息吗?
您需要使用有效的IANA TZDB标识符的时区id。对于美国中部时间,请使用'America/Chicago'
。
您应该避免使用3个字符的缩写来表示时区,因为只有少数在TZDB中,并且通常它们可能是模棱两可的(CST
也是中国标准时间,古巴标准时间等…)
同样,虽然UTC
和GMT
将工作,完全合格的形式是Etc/UTC
。实际上,您可以使用其中的任何一个