当前位置: 首页 > 面试题库 >

MySQL将timediff输出转换为日,时,分,秒格式

缪兴腾
2023-03-14
问题内容

这是我的查询:

SELECT TIMEDIFF(end_time,start_time) AS "total" FROM `metrics`;

这给了我:

116:12:10

表示116小时12分10秒。

相反,我想说的是4天20小时12分钟等


问题答案:
SELECT CONCAT(
FLOOR(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')) / 24), ' days ',
MOD(HOUR(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), 24), ' hours ',
MINUTE(TIMEDIFF('2010-01-06 08:46', '2010-01-01 12:30')), ' minutes')

在我的示例中,将end_time和start_time用于固定的datetime值

根据以下两条评论,此解决方案仅适用于35天内的日期差异。如果您知道开始到结束之间有35天以上的时间,即一个月内有差异,请不要使用它。在这里使用TIMESTAMPDIFF的其他答案将起作用。



 类似资料:
  • 问题内容: 我正在使用TimeStamp类将秒转换为Day,Hours,Minutes,Seconds。我用下面的代码 但是我没有得到正确的结果。例如,当我调用此方法时,它给我的结果是而不是。 我的逻辑有什么问题? 请帮我。 问题答案: 应该像 编辑 说明: 日计算是正确的,不需要解释。 TimeUnit.SECONDS.toHours(seconds)将使您直接从秒转换为小时,而无需考虑已经计算

  • 问题内容: 我需要将秒转换为“小时:分钟:秒”。 例如:“ 685”转换为“ 00:11:25” 我该如何实现? 问题答案: 您可以使用以下功能:

  • 问题内容: 我一直在尝试将秒值(在BigDecimal变量中)转换为editText之类的字符串,例如“ 1小时22分33秒”或类似的内容。 我已经试过了: (我有一个roundThreeCalc值,以秒为单位,所以我尝试在这里进行转换。) 然后,将editText设置为sequnceCaptureTime String。但这没有用。每次都强制关闭该应用程序。我完全不在这里,我们将不胜感激。祝您编

  • 因此,我试图制作一个程序,可以将s从输入转换为h、m和s。到目前为止,我的代码如下所示: 好的,所以我必须将s,m,h初始化为0,因为如果不是的话,我在if语句中遇到了问题,所以我把它设置为0,因为我可以稍后更改:)好的。所以现在这个程序的问题是,如果我输入3603,我会得到这个输出:3603s=1H60M3603s,如果我输入3600,我会得到:3600s=1H60M3600s,但输出应该分别是

  • 问题内容: 如何获得日期的毫秒时间?我有以下代码。 此变量beginupd包含格式 2011年10月12日星期三11:55:03 GMT + 05:30 现在如何在Long数据类型中将此格式转换为毫秒时间?非常感谢您的任何帮助,并在此先感谢… 问题答案: JavaDoc指出: 返回自此Date对象表示的自格林尼治标准时间1970年1月1日00:00:00以来的毫秒数。

  • 问题内容: 我在使用此代码的php中有一个日期字段: 我如何将其转换为MySql格式的Registry,以便包含在db中。它是否遵循以下格式:date(’Ymd’strtotime($ date);.我问的原因是因为我尝试了此方法的变体,但似乎无法正常工作。显示为1970还是其他变体对此非常感谢 问题答案: 1.如果您的MySQL列为: 2.如果您的MySQL列为: 您无需工作,因为它不适用于破折