如何在 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.