我正在尝试将纯MySQL查询转换为Symfony2中的Doctrine查询构建器。 我有一个SELECT查询的以下部分计算rcv.rtcdatetime字段中的UTC时间戳和当前UTC之间的差异:
TIMESTAMPDIFF(SECOND, rcv.rtcdatetime, UTC_TIMESTAMP()) AS utcdiff
显然,Doctrine中没有UTC_TIMESTAMP()函数。我设法在Doctrine中找到CURRENT_TIMESTAMP()函数,但我找不到该函数应该返回的值。它是本地服务器时间还是UTC时间戳?我在几台服务器上测试过它,但仍不确定。
答案 0 :(得分:0)
该库能够使用TIMESTAMPDIFF
函数扩展Doctrine ORM:
https://github.com/orocrm/doctrine-extensions
然而,该函数的计算仍在mySQL服务器上执行:
Mysql Server有多种方法可以配置内部用于所有操作的时区。默认情况下,它应与您的系统时区匹配。
在此处详细了解:https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html