我正在使用Symfony和Doctrine。我想在两个时间戳之间经过一段时间。这是我的查询的一部分(a.date和q.date都是type: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');
这样可行,但会在几天内给出结果。我真的需要几分钟或几秒钟。
答案 0 :(得分:1)
请改用UNIX_TIMESTAMP。试试这个:
$qb->select('(UNIX_TIMESTAMP(a.date) - UNIX_TIMESTAMP(q.date)) AS elapsed_time');
答案 1 :(得分:0)
您需要使用DATE_FORMAT函数。
$qb->select(DATE_FORMAT(DATE_DIFF(a.date, q.date), '%s') AS elapsed_time);
试试这个。我现在没有mysql控制台,但我认为它会起作用。