【问题标题】:Symfony2 Doctrine MySQL UTC_TIMESTAMP()Symfony2 教义 MySQL UTC_TIMESTAMP()
【发布时间】:2016-05-16 01:49:42
【问题描述】:

我正在尝试将纯 MySQL 查询转换为 Symfony2 中的 Doctrine 查询生成器。 我有以下部分 SELECT 查询计算 rcv.rtcdatetime 字段中的 UTC 时间戳和当前 UTC 之间的差异:

TIMESTAMPDIFF(SECOND, rcv.rtcdatetime, UTC_TIMESTAMP()) AS utcdiff

显然,UTC_TIMESTAMP() 函数在 Doctrine 中不可用。我设法在 Doctrine 中找到了 CURRENT_TIMESTAMP() 函数,但我找不到该函数应该返回的值。是本地服务器时间还是 UTC 时间戳?我在几台服务器上测试过,仍然不确定。

【问题讨论】:

    标签: php mysql symfony doctrine-orm


    【解决方案1】:

    这个库能够使用TIMESTAMPDIFF 函数扩展 Doctrine ORM: https://github.com/orocrm/doctrine-extensions

    该函数所做的计算仍然在 mySQL Server 上执行:

    Mysql 服务器有多种方式来配置内部用于所有操作的时区。默认情况下,它应该与您的系统时区匹配。

    在此处了解更多信息:https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html

    【讨论】:

    • 是的,我想通了,但我需要的不是 TIMESTAMPDIFF 函数,而是 UTC_TIMESTAMP。我有一个 UTC 时间戳字段,因此我需要获取该字段与现在之间的时间差(以秒为单位)
    猜你喜欢
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 2012-01-23
    • 2014-04-23
    • 1970-01-01
    • 2011-09-10
    • 2015-12-21
    • 1970-01-01
    相关资源
    最近更新 更多