MySQL 计算时间差

我想要显示的格式为相差X天X小时X分钟X秒
利用 TIMESTAMPDIFF() 计算两个时间相差的时间

SELECT CONCAT(
	FLOOR(TIMESTAMPDIFF(SECOND, '2019-08-12 00:14:30', '2019-09-04 08:44:53') / 86400), '天',
	TIMESTAMPDIFF(HOUR, '2019-08-12 00:14:30', '2019-09-04 08:44:53') % 24, '小时',
	TIMESTAMPDIFF(MINUTE, '2019-08-12 00:14:30', '2019-09-04 08:44:53') % 60, '分',
	TIMESTAMPDIFF(SECOND, '2019-08-12 00:14:30', '2019-09-04 08:44:53') % 60, '秒'
) SPENDTIME

结果:

23天8小时30分23秒

但是如果你知道了相差了多少秒,那么可以利用 NOW()DATE_ADD() 来进行计算

SELECT
CONCAT(
	FLOOR(TIMESTAMPDIFF(SECOND, NOW(), DATE_ADD(NOW(), INTERVAL SPENDTIME SECOND)) / 86400), '天',
	TIMESTAMPDIFF(HOUR, NOW(), DATE_ADD(NOW(), INTERVAL SPENDTIME SECOND)) % 24, '小时',
	TIMESTAMPDIFF(MINUTE, NOW(), DATE_ADD(NOW(), INTERVAL SPENDTIME SECOND)) % 60, '分',
	TIMESTAMPDIFF(SECOND, NOW(), DATE_ADD(NOW(), INTERVAL SPENDTIME SECOND)) % 60, '秒'
)
FROM (
	SELECT
	AVG(UNIX_TIMESTAMP(COMPLETE_TIME) - UNIX_TIMESTAMP(IMPLEMENT_TIME)) SPENDTIME
	FROM WKORDER_TASK_TASKINFO
) a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值