我有两个DateTime
$datetime1 = date_create_from_format('H:i', '12:10');
$datetime2 = date_create_from_format('H:i', '18:16');
我有几分钟的间隔,有些是考试56分钟
此区间在$ datetime1和$ datetime2之间包含多少次?
我试试
$diff = $datetime1->diff($datetime2)
但是对象$ diff不包含此信息
答案 0 :(得分:0)
(strtotime($datetime2) - strtotime($datetime1))/56*60*60
这将为您提供两个日期时间之间的间隔数
答案 1 :(得分:0)
使用DateTime
,您可以执行以下操作。
$datetime1 = new DateTime( '12:10' );
$datetime2 = new DateTime( '18:16' );
$diff = $datetime1->diff( $datetime2 );
$total = $diff->i + ( $diff->h * 60 );
echo $total;
答案 2 :(得分:0)
但是对象$ diff不包含此信息
确实如此,你必须找到它。使用h
和i
属性:
<?php
$datetime1 = date_create_from_format('H:i', '12:10');
$datetime2 = date_create_from_format('H:i', '18:16');
$diff = $datetime1->diff($datetime2);
$minutes_diff = $diff->h * 60 + $diff->i;
var_dump($minutes_diff); // int(366)
$interval = 56;
$times_interval = $minutes_diff / $interval;
var_dump($times_interval); // float(6.5357142857143)
?>
答案 3 :(得分:0)
@Taras Germanyuk来自乌克兰,对于类似这样的事情,DateTime是你的朋友:http://php.net/manual/en/dateinterval.format.php,http://php.net/manual/en/book.datetime.php。它使这些计算变得容易。
<?php
$d1 = new DateTime('12:10');
$d2 = new DateTime('18:16');
$interval = $d1->diff($d2);
echo ($interval->format('%i') + ($interval->format('%h') * 60));
?>