如何在 PHP 中获取时间差的分钟数

Minahil Noor 2023年1月30日 2020年9月26日
  1. 在 PHP 中使用 date_diff() 函数来获取分钟的时间差
  2. 在 PHP 中使用数学公式来获取时间差的分钟数
如何在 PHP 中获取时间差的分钟数

在本文中,我们将介绍在 PHP 中获取分钟时差的方法。

  • 使用 date_diff() 函数
  • 使用数学公式

在 PHP 中使用 date_diff() 函数来获取分钟的时间差

我们将使用内置函数 date_diff() 来获得以分钟为单位的时间差。

为此,我们需要一个开始日期和结束日期。我们将使用 date_diff() 函数来计算它们的时间差,单位是分钟。使用这个函数的正确语法如下。

date_diff($DateTimeObject1, $DateTimeObject2);

内置函数 date_diff() 有两个参数。其详细参数如下

参数 说明
$DateTimeObject1 强制 它是一个 DateTime 对象。它代表开始日期。
$DateTimeObject2 强制 它也是一个 DateTime 对象,它代表结束日期。

这个函数在成功时返回开始日期和结束日期之间的差值,失败时返回 FALSE。如果失败,则返回 FALSE。

下面的程序显示了我们如何使用 date_diff() 函数来获得以分钟为单位的时间差。

<?php 
$dateTimeObject1 = date_create('2019-06-16'); 
$dateTimeObject2 = date_create('2020-06-16'); 
  
$difference = date_diff($dateTimeObject1, $dateTimeObject2); 
echo ("The difference in days is:");
echo $difference->format('%R%a days');
echo "\n";
$minutes = $difference->days * 24 * 60;
$minutes += $difference->h * 60;
$minutes += $difference->i;
echo("The difference in minutes is:");
echo $minutes.' minutes';
?>

函数 date_diff() 返回了一个对象,表示两个日期之间的差异。

输出:

The difference in days is:+366 days
The difference in minutes is:527040 minutes

现在我们将找到时间差。

<?php 
$dateTimeObject1 = date_create('17:13:00'); 
$dateTimeObject2 = date_create('12:13:00'); 
  
$difference = date_diff($dateTimeObject1, $dateTimeObject2); 
echo ("The difference in hours is:");
echo $difference->h;
echo "\n";
$minutes = $difference->days * 24 * 60;
$minutes += $difference->h * 60;
$minutes += $difference->i;
echo("The difference in minutes is:");
echo $minutes.' minutes';
?>

输出:

The difference in hours is:5
The difference in minutes is:300 minutes

在 PHP 中使用数学公式来获取时间差的分钟数

在 PHP 中,我们还可以使用不同的数学公式来获取分钟的时间差。获取分钟时差的程序如下。

<?php
$to_time = strtotime("10:42:00");
$from_time = strtotime("10:21:00");
$minutes = round(abs($to_time - $from_time) / 60,2);
echo("The difference in minutes is: $minutes minutes.");
?>

输出:

The difference in minutes is: 21 minutes

我们也可以用下面的方法求出分钟的时差。

<?php
$start = strtotime('12:01:00');
$end = strtotime('13:16:00');
$minutes = ($end - $start) / 60;
echo "The difference in minutes is $minutes minutes.";
?>

输出:

The difference in minutes is 75 minutes.