在 MySQL 中处理时差时,在 MySQL 中显示结果通常很有用更易于理解的格式,例如天、小时、分钟和秒。如果时差很大,这可能会很困难。
假设您有一个像这样的查询:
SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;
,它返回一个像这样的值:
116:12:10
代表 116小时、12 分钟、10 秒。要将其转换为更易读的格式,请使用以下查询:
SELECT CONCAT( FLOOR(HOUR(TIMEDIFF(end_time,start_time)) / 24), ' days ', MOD(HOUR(TIMEDIFF(end_time,start_time)), 24), ' hours ', MINUTE(TIMEDIFF(end_time,start_time)), ' minutes')
将 end_time 和 start_time 替换为您的实际列名称。
例如,假设 end_time 是 '2010-01 -06 08:46' 且 start_time 为 '2010-01-01 12:30'。上述查询将返回:
4 days 20 hours 12 minutes
请注意,此解决方案仅适用于 35 天内的日期差异。如果您知道 start_time 和 end_time 之间的间隔超过 35 天,请考虑使用 TIMESTAMPDIFF 代替。
以上是如何在 MySQL 中将时差输出转换为日、小时、分钟和秒格式?的详细内容。更多信息请关注PHP中文网其他相关文章!