如何从日期和时间中减去时间

时间:2018-05-14 14:16:53

标签: mysql

我得到一个自动生成的enddatetime字段。我还有一个存储在mysql中的totaltime。我想从enddatetime中减去totaltime以获得startdatetimedatetimeofevent

示例

总时间= 14:00:00

enddatetime = 5/14/2018 15:00:00

我目前正在使用date_sub函数,但它从yy中减去了hh,这是一个怪人。

DATE_SUB(enddatetime , INTERVAL (TimeDIFF(totaltime, Time(enddatetime ))) HOUR)

2 个答案:

答案 0 :(得分:0)

您必须从date_sub的第一部分

中提取enddatetime的时间部分

答案 1 :(得分:0)

dateTimeDIFF函数返回时间格式的差异,如12:30:50 和 DATE_SUB期望间隔为整数值 你需要从时间格式转换为整数 你可以使用time_to_sec函数将时间转换为秒数,然后将其转换为360,将秒转换为小时或使用秒而不是小时。

例如

DATE_SUB(enddatetime , INTERVAL (time_to_sec((TimeDIFF(totaltime, Time(enddatetime ))))/3600) HOUR)