当我需要仅计算08:00:00-16:00:00之间的时间时,计算从MySQL获取的两个日期时间值之间的时间的最佳方法是什么.
例如,如果我有值2008-10-13 18:00:00和2008-10-14 10:00:00,则时差应为02:00:00.
我可以用SQL做什么或者最好的方法是什么?我正在建立一个网站并使用PHP.
谢谢您的回答.
编辑:确切的是,我正在尝试计算"票"在工作时间内处于特定状态的时间.时间可能是几个星期.
EDIT2:我没有计算实际时差的问题,但减去了关闭时间,每天00:00:00-08:00:00和16:00:00-00:00:00.
-Samuli
Chr*_*s S 10
该TIMEDIFF功能
TIMEDIFF()返回expr1 - 表示为时间值的expr2.expr1和expr2是时间或日期和时间表达式,但两者必须属于同一类型.
mysql> SELECT TIMEDIFF('2000:01:01 00:00:00',
-> '2000:01:01 00:00:00.000001');
-> '-00:00:00.000001'
mysql> SELECT TIMEDIFF('2008-12-31 23:59:59.000001',
-> '2008-12-30 01:01:01.000002');
-> '46:58:57.999999'
Run Code Online (Sandbox Code Playgroud)