我有一个
MySQL数据库(托管在Ubuntu上),它有一个带时区的表.此日期位于UTC时区.我有一个使用此数据的应用程序但需要将时间从UTC转换为PST以便以有用的格式显示数据.
这可能在应用程序级别上有所改变,但我目前没有时间这样做,所以我想要做的是使用convert_tz获取正确的时区,直到我有时间更改应用程序来转换时间区.
但是,每当我做某事时
SELECT id,
category,
convert_tz(create_datetime, 'UTC', 'PST') as create_datetime
FROM table
我得到了一个结果
1, category, NULL
我知道我需要加载时区表,所以我做了,运行这个命令:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
之后我重新启动了mysql服务.但是,convert_tz仍然返回NULL.有人可以帮我一把吗?
谢谢!
最佳答案 确保create_datetime列的类型为timestamp
请参考这个http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_convert-tz.
SELECT CONVERT_TZ(‘2004-01-01 12:00:00′,’GMT’,’MET’);