gpt4 book ai didi

php - 如何在mysql查询Php中计算时间

转载 作者:行者123 更新时间:2023-11-29 09:31:25 25 4
gpt4 key购买 nike

我在数据库名称“booking”中有下表

id userId taxiId serviceStarted duration(in minutes)
1 3 2 2019-10-30 13:06:59 20

现在我想知道预计时间(服务何时结束),那么我可以使用 mysql 查询来做到这一点吗?我想在 mysql 查询中得到类似的东西

serviceStarted + duration - currentdatetime

在mysql查询中,这可能吗?如果是的话怎么办?

最佳答案

此查询返回完成服务还剩多少时间,以小时:分钟:秒为单位:(serviceStarted + 持续时间) - currentdatetime

SELECT SEC_TO_TIME(TIMESTAMPDIFF(SECOND, NOW(), ADDTIME(serviceStarted, SEC_TO_TIME(duration*60)))) 

要获取剩余分钟数:

SELECT TIMESTAMPDIFF(SECOND, NOW(), ADDTIME(serviceStarted, SEC_TO_TIME(duration*60)))/60 

例如,如果 serviceStarted = '2019-10-30 16:35:00' 且 NOW() = '2019-10-30 12:12:49',结果将为:

282.1833

因此 282.183/60 = 服务将在 4,703055 小时后完成。

<小时/>

ADDTIME将秒(第二个参数)添加到日期时间(第一个参数)。

`SEC_TO_TIME'从秒转换为时间。

TIMESTAMPDIFF示例:

SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
-> 3
SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
-> -1
SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55');
-> 128885

请注意,如果服务已完成,查询将返回负数。

关于php - 如何在mysql查询Php中计算时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58621096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com