如何在 PHP 中獲取時間差的分鐘數
Minahil Noor
2023年1月30日
在本文中,我們將介紹在 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.