我想选择一个包含日期的时间戳列。
我希望在秒中得到结果,我已经尝试过了,但是它不起作用。
$req = $database->query('SELECT energy, maxEnergy, DATE_FORMAT(last_attack, "%s") FROM users WHERE id = '.$userID.'');
last_attack列包含: 2018-09-05 09:26:38
结果给我:["DATE_FORMAT(last_attack, "%s")"]=> string(2) "38"
我不需要日期中的秒,我希望所有日期都以秒为单位...
我做错了什么?谢谢。
答案 0 :(得分:1)
您应该使用UNIX_TIMESTAMP
从用户中选择UNIX_TIMESTAMP(last_attack)
作为my_required
...
答案 1 :(得分:0)
使用TIME_TO_SEC
SELECT energy, maxEnergy, TIME_TO_SEC(last_attack) FROM users WHERE id = '.$userID.'
答案 2 :(得分:0)
在我看来,您正在寻找自seconds
起传递的last_attack
数量。您应该使用TIMESTAMPDIFF()
来实现。
select TIMESTAMPDIFF(SECOND, '2018-09-05 09:26:38', NOW());
TIMESTAMPDIFF()
接受三个参数unit
,date_time1
和date_time2
,并返回date_time2
和date_time1
(date_time2 - date_time
)在unit
中。