[PHP][MYSQL] 如何在 PHP 中对 mysql 的时间数据类型执行 addition/subtraction

[PHP][MYSQL] how to do addition/subtraction on mysql's time datatype in PHP

我的 mysql table 数据类型时间中有几列。我相信时间是按军事时间列出的,我需要在 PHP 中得到两个时间之间的差异 (hours/mins)。示例:

MYSQL:

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

在php中如何计算(Start_time) - (End_time) =(结果应该以分钟为单位)。

您可以使用它在 mysql 中获得它。

SELECT TIMESTAMPDIFF(SECOND, column1, column2);

要在 php 中获取它,请参阅此答案

Getting time difference between two times in PHP

或者使用类似下面的内容,您可以使用从 mysql 获得的日期作为 DateTime 的字符串。

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'));