首頁  >  文章  >  後端開發  >  PHP函數運用之傳回兩給定日期的天數差

PHP函數運用之傳回兩給定日期的天數差

青灯夜游
青灯夜游原創
2021-08-27 18:43:281900瀏覽

在先前的文章中我們介紹了利用PHP函數檢查給定值是不是有限值、無限值或非數值的方法,感興趣的可以點擊連結進行查閱→《PHP函數運用之檢查一個值是不是有限值、無限值或非數值》。這次我們繼續PHP函數的學習,介紹一下計算兩個日期相差幾天的方法,有需要的可以學習了解一下~

本文的重點內容則是教大家如何計算兩個日期之間的間隔天數。這裡要跟大家介紹兩種方法,大家可以自己先在本地做一做,看看實現的方法是否跟我一樣呢?

首先來看第一種方法:利用strtotime()函數

實作方法:

  • 將兩個日期使用strtotime()函數轉換為時間戳記;

  • 然後將兩個時間戳相減,得到時間差,但此時還是以秒為單位計數的,不利於閱讀。

  • 接著將時間除以86400(24*60*60=86400),在使用floor()向下捨去為最接近的整數即可

下面直接給實作程式碼:

<?php
header("content-type:text/html;charset=utf-8");
function daysDiff($date1, $date2)
{
    $first = strtotime($date1);
    $second = strtotime($date2);
    if($first>$second){
    	$diff_seconds=$first-$second;
    }else{
    	$diff_seconds=$second-$first;
    }
	$time = floor(($diff_seconds)/86400);
    return $time;
}

$dt1 = &#39;2021-8-1&#39;;
$dt2 = &#39;2021-8-27&#39;;
echo $dt1.&#39; 和 &#39;. $dt2. &#39; 之间相差的天数是 &#39;. daysDiff($dt1, $dt2) ."天";
?>

輸出結果:

PHP函數運用之傳回兩給定日期的天數差

#有沒有覺得這個方法有點麻煩,下面我們介紹另一種更簡單的方法:利用date_diff() 函數

date_diff() 函數可以直接傳回兩個DateTime 物件間的差值。我們只需要將兩個指定的日期轉換為DateTime 對象,然後使用date_diff(datetime1,datetime2)即可取得間隔天數。

下面直接給實作程式碼:

<?php
header("content-type:text/html;charset=utf-8");
function daysDiff($date1, $date2)
{
    $date1=date_create($date1);
	$date2=date_create($date2);
	$diff_seconds=date_diff($date1,$date2);


    return $diff_seconds->format("%R%a");
}

$dt1 = &#39;2020-03-15&#39;;
$dt2 = &#39;2021-12-12&#39;;
echo $dt1.&#39; 和 &#39;. $dt2. &#39; 之间相差的天数是 &#39;. daysDiff($dt1, $dt2) ." 天";
?>

輸出結果:

PHP函數運用之傳回兩給定日期的天數差

好就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學

#

以上是PHP函數運用之傳回兩給定日期的天數差的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn