Php 两个时间戳的交叉点(小时/分钟)

Php 两个时间戳的交叉点(小时/分钟),php,Php,如何实现两个时间戳之间以小时/分钟为单位的相交 t1 = 1970-01-01 23:00:00 t2 = 1970-01-02 11:00:00 d1 = 1970-01-01 22:30:00 d2 = 1970-01-02 01:00:00 intersection = 2h:00mins 另一个例子是: t1 = 1970-01-01 23:00:00 t2 = 1970-01-02 11:00:00 d1 = 1970-01-01 08:00:00 d2 = 1970-01-0

如何实现两个时间戳之间以小时/分钟为单位的相交

t1 = 1970-01-01 23:00:00
t2 = 1970-01-02 11:00:00

d1 = 1970-01-01 22:30:00
d2 = 1970-01-02 01:00:00

intersection = 2h:00mins
另一个例子是:

t1 = 1970-01-01 23:00:00
t2 = 1970-01-02 11:00:00

d1 = 1970-01-01 08:00:00
d2 = 1970-01-01 11:30:00

intersection = 3hrs:00minutes

使用两个对象表示两个日期。然后,您可以使用该方法生成一个对象,该对象又具有所需的数据。

如果您没有PHP>5.3,则需要以下内容。这并不漂亮,但是如果你想要几小时和几分钟,你可以减去这两个时间戳,然后除以差值
$pass
是一个标志,如果您想说类似于
2h:00m前的话

$difference = strtotime($d1) - strtotime($d2);
$past = $difference < 0;
$difference = abs($difference);
$interval_hours = (int)($difference / 3600);
$interval_minutes = (int)(($difference % 3600) / 60);
$difference=strotime($d1)-strotime($d2);
$pass=$difference<0;
$difference=abs($difference);
$interval_hours=(int)(差异$3600);
$interval_minutes=(int)($difference%3600)/60);

给定PHP>5.3,这是一个不错的选择。但我不是在寻找间隔。。。我只在定义的时间段内查找间隔。。。十字路口。我不确定我是否跟随。。。DateInterval可以告诉您两个日期之间的时间间隔。这不是你想要的吗?你的例子有点让人困惑,你能把它们说得更清楚吗?我不知道如何让它更简单。。。。我不是在寻找两次约会之间的时间间隔。我在寻找两个日期之间的时间间隔,这两个日期相交于一个时间段。。。(例1-我想计算t1-t2期间的2小时)哦,现在我明白了。。。在这种情况下,您只需要检查时间是否超出了周期,如果超出了周期,则根据时间是在周期之前还是之后,将其调整为最小值或最大值。然后你可以像我提到的那样使用DateInterval。