我正在运行MYSQL 4.1数据库,该数据库存储在欧洲运营的办事处的呼叫中心数据。
我的MYSQL数据库位于Windows 2003服务器上,该服务器的时区设置为中欧时间,可自动调整为日光节省。
我希望能够生成一份报告,以正确的时区向我们在欧洲的客户显示日志日期和时间。
我的数据库将调用的日志日期/时间存储为unix时间戳。因此日期存储为UTC。我发现MYSQL功能可以轻松地将日志日期时间调整到您选择的时区。
它叫做 CONVERT_TZ 。 (更多信息:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_convert-tz)
示例:SELECT CONVERT_TZ('2004-01-01 12:00:00','UTC','CET');
我尝试将此应用于登录于01-06-2013 22:12
的呼叫CONVERT_TZ(FROM_UNIXTIME(o.logdatex), 'UTC','CET') 'CET_L_DATETIME'
(logdatex是记录呼叫时的unxtimestamp)
令我困惑的是,该声明又回来了 - 2013-06-02 00:12:56。
我想看看刚刚选择FROM_UNIXTIME(o.logdatex)
它返回了正确的时间! 2013-06-01 22:12:56(此电话是从我们的阿姆斯特丹办事处记录的)
我的问题是,FROM_UNIXTIME函数是否根据MYSQL服务器设置的时区自动调整UTC时间?我找不到任何说明它的文件。