mysql unix_timestamp时区错误的时间

Fun*_*ude 2 mysql wordpress unix-timestamp

在mysql中遇到UNIX_TIMESTAMP函数的问题.

设置: 我在我的本地Windows机器上做一个wordpress站点,并定期将我的更新上传到ubuntu服务器(page.ly).有一段代码可以从mysql db中检索datetime列.问题是检索的时间是在我的本地Windows机器上,但在ubuntu服务器上是错误的.

所知,到目前为止,我在这两个地方都进行了几次查询,试图重现这个问题.

$wpdb->get_row("SELECT UNIX_TIMESTAMP('2012-07-27 22:15:00') 
FROM {$wpdb->posts}"))
Run Code Online (Sandbox Code Playgroud)

这产生了我的本地机器(1343427300)的正确时间,但是在ubuntu上错误(1343445300提前5小时.我的当地时区America/New_York.).

$wpdb->get_row("SELECT UNIX_TIMESTAMP('2012-07-27 22:15:00')"))
Run Code Online (Sandbox Code Playgroud)

这样可以在两台机器上产生合适的时间.就像我将我的选择与一个表,数据库中的任何表相关联,时间得到时区偏移+夏令时偏移.我检查了两台机器上的时区偏移量.他们两个都是0.我有点卡在这里.感谢任何帮助.

roy*_*g86 6

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_unix-timestamp

UNIX_TIMESTAMP返回UTC时间,因此解释了您获得的5小时差异

您可能希望在时间上使用CONVERT_TZ,偏移量为-05.00(东部)以获得正确的TIMESTAMP.