2017-09-27 72 views
0

我的数据类型时间的mysql表中有几列。时间是在我相信的军事时间里列出的,我需要在两次PHP中获得不同的时间(小时/分钟)。例如:[PHP的] [MYSQL的]如何在PHP中执行mysql的时间数据类型的加/减法

MYSQL:

Start_time End_time 
08:00:00 09:15:00 

在php中如何可以计算(START_TIME) - (END_TIME)=(结果应该是在分钟)。

+0

或者你可以使用'datediff()'函数 –

回答

1

你可以使用它在mysql中获取它。

SELECT TIMESTAMPDIFF(SECOND, column1, column2); 

让它在PHP中看到这个答案

Getting time difference between two times in PHP

或者使用类似下面,你会用你得到的日期从MySQL作为字符串日期时间。

1 <?php 
2 
3 $time1 = new DateTime('13:00:59'); 
4 $time2 = new DateTime('19:01:00'); 
5 $interval = $time1->diff($time2); 
6 print_r($interval->format('%h:%s')); 

要获取不同格式的间隔,请更改格式字符串。您可以在DateTime documentation here

中找到有效的字符串值要获得分钟,请使用“%i”或“%l”,后者具有前导零。

1 <?php 
2 
3 $time1 = new DateTime('13:00:59'); 
4 $time2 = new DateTime('19:01:00'); 
5 $interval = $time1->diff($time2); 
6 print_r($interval->format('%l')); 
+0

在PHP中要小心超过23:59:59的时间。 – tadman

+0

非常好! TYVM。 – dave

+0

我如何在几分钟而不是几小时内得到它? – dave