十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
有時(shí)可能會(huì)碰到這種需求,需要計(jì)算兩個(gè)日期相隔多少天?
成都創(chuàng)新互聯(lián)成都企業(yè)網(wǎng)站建設(shè)服務(wù),提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作網(wǎng)站開發(fā),網(wǎng)站定制,建網(wǎng)站,網(wǎng)站搭建,網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì)師打造企業(yè)風(fēng)格網(wǎng)站,提供周到的售前咨詢和貼心的售后服務(wù)。歡迎咨詢做網(wǎng)站需要多少錢:028-86922220
下面這個(gè)函數(shù)很好的解決了這個(gè)問題
?php
/*
*
*函數(shù)功能:計(jì)算兩個(gè)以YYYY-MM-DD為格式的日期,相差多少天(日)
*return int
*/
function getChaBetweenTwoDate($date1,$date2){
$Date_List_a1=explode("-",$date1);
$Date_List_a2=explode("-",$date2);
$d1=mktime(0,0,0,$Date_List_a1[1],$Date_List_a1[2],$Date_List_a1[0]);
$d2=mktime(0,0,0,$Date_List_a2[1],$Date_List_a2[2],$Date_List_a2[0]);
$Days=round(($d1-$d2)/3600/24);
return $Days;
}
使用方法如下:
echo getChaBetweenTwoDate('2012-11-20','1949-10-16');
以上代碼執(zhí)行結(jié)果將顯示為:
23046
意思即這兩個(gè)日期相差 23046 天。
求時(shí)間差示例如下:
?php
//定義時(shí)間
$t1='2015-05-01';
$t2='2015-05-19';
//將時(shí)間轉(zhuǎn)換為時(shí)間戳
$str1=strtotime($t1);
$str2=strtotime($t2);
//求時(shí)間差
$diff=?$str2-$str1;
//將時(shí)間差時(shí)間戳轉(zhuǎn)換為天數(shù)或者其他時(shí)間單位
echo??$diff/(24*60*60);
?
轉(zhuǎn)換成時(shí)間戳,然后兩個(gè)時(shí)間相減得到的是兩個(gè)時(shí)間差的秒數(shù),每60是一分鐘3600是一個(gè)小時(shí)86400是一天,剩下的就簡單了
PHP計(jì)算兩個(gè)日期相差的時(shí)分秒
結(jié)果: 1小時(shí)3分4秒
結(jié)語:轉(zhuǎn)換時(shí)間戳取兩個(gè)時(shí)間相差的秒數(shù)再進(jìn)行處理。