计算 php 中 2 个时间戳之间的差值
我在表中使用2个时间戳,这是开始时间数据类型 - 时间戳和当前时间戳。结束时间数据类型时间戳,默认值为 0000-00-00 00:00:00
如何计算php中2个时间戳之间的差异 开始时间:2016-11-30 03:55:06 结束时间: 2016-11-30 11:55:06
我在表中使用2个时间戳,这是开始时间数据类型 - 时间戳和当前时间戳。结束时间数据类型时间戳,默认值为 0000-00-00 00:00:00
如何计算php中2个时间戳之间的差异 开始时间:2016-11-30 03:55:06 结束时间: 2016-11-30 11:55:06
应避免任何程序性方式。对日期时间差使用 OOP 方法:
$datetime1 = new DateTime('2016-11-30 03:55:06');//start time
$datetime2 = new DateTime('2016-11-30 11:55:06');//end time
$interval = $datetime1->diff($datetime2);
echo $interval->format('%Y years %m months %d days %H hours %i minutes %s seconds');//00 years 0 months 0 days 08 hours 0 minutes 0 seconds
您可以根据需要设置不同的格式。
%Y - use for difference in year %m - use for difference in months %d - use for difference in days %H - use for difference in hours %i - use for difference in minutes %s - use for difference in seconds
您可以根据需要删除上述任何值。例如,如果您只对小时差异感兴趣,并且您知道差异不能超过24小时,则仅使用 。%H
如果你想在秒内有总的差异,那么你可以使用:
echo $difference_in_seconds = strtotime('2016-11-30 11:55:06') - strtotime('2016-11-30 03:55:06');//28800
取决于您的需求和您希望具有时差的最终格式。
参考检查:http://php.net/manual/en/datetime.diff.php
我希望它有帮助
您可以使用php strtotime将时间戳转换为unix时间戳(以秒为单位的时间),然后取差值。您现在拥有以秒为单位的时间差异,并且可以转换为您需要的内容...小时, 分钟, 天
http://php.net/manual/en/function.strtotime.php
前任:
$ts1 = strtotime($start);
$ts2 = strtotime($end);
$seconds_diff = $ts2 - $ts1;
$time = ($seconds_diff/3600);