如何获取 dql 中两个时间戳之间经过的时间(以秒为单位)?
How to get the time elapsed in seconds between two timestamps in dql?
我正在使用 Symfony 和 Doctrine。我想获得两个时间戳之间经过的时间。这是我查询的一部分(a.date 和 q.date 都是类型:timestamp):
$qb->select('a.date - q.date AS elapsed_time');
这给出了一个数值结果,但我不知道单位是什么。 9秒给了我49分,60秒给了我99分;我无法理解。
我也试过这个:
$qb->select('DATE_DIFF(a.date, q.date) AS elapsed_time');
这有效,但以天为单位给出结果。我真的需要分秒。
改用UNIX_TIMESTAMP。试试这个:
$qb->select('(UNIX_TIMESTAMP(a.date) - UNIX_TIMESTAMP(q.date)) AS elapsed_time');
您需要使用函数DATE_FORMAT。
$qb->select(DATE_FORMAT(DATE_DIFF(a.date, q.date), '%s') AS elapsed_time);
试试这个。我现在没有 mysql 控制台,但我认为它可以工作。
我正在使用 Symfony 和 Doctrine。我想获得两个时间戳之间经过的时间。这是我查询的一部分(a.date 和 q.date 都是类型:timestamp):
$qb->select('a.date - q.date AS elapsed_time');
这给出了一个数值结果,但我不知道单位是什么。 9秒给了我49分,60秒给了我99分;我无法理解。
我也试过这个:
$qb->select('DATE_DIFF(a.date, q.date) AS elapsed_time');
这有效,但以天为单位给出结果。我真的需要分秒。
改用UNIX_TIMESTAMP。试试这个:
$qb->select('(UNIX_TIMESTAMP(a.date) - UNIX_TIMESTAMP(q.date)) AS elapsed_time');
您需要使用函数DATE_FORMAT。
$qb->select(DATE_FORMAT(DATE_DIFF(a.date, q.date), '%s') AS elapsed_time);
试试这个。我现在没有 mysql 控制台,但我认为它可以工作。