sco*_*tts 5 php mysql doctrine symfony1 symfony-1.4
我想知道如何SET time_zone = 'UTC'在Symfony/Doctrine 中将MySQL时区设置为UTC(),所以当我在查询中的UNIX_TIMESTAMP()某个DATETIME字段上调用函数时,它会返回UTC unix时间而不是服务器时间的unix时间区.
如何在每次连接时自动执行此操作,或者在时区有所不同的这些类型的查询之前手动执行此操作?
顺便说一句,我需要在MySQL查询而不是应用程序中进行此转换,因此我可以GROUP BY在需要纪元时间的间隔内进行.
您可以通过configureDoctrineConnection在 ProjectConfiguration` 中调用的回调来执行此操作:
public function configureDoctrineConnection(Doctrine_Connection $connection)
{
$connection->exec('SET time_zone = "UTC"');
}
Run Code Online (Sandbox Code Playgroud)
如果您使用多个连接,这可能会出现问题。
(已编辑答案以删除有缺陷的附加方法。)