欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          PHP函數(shù)運(yùn)用之計(jì)算截止某年某月某日共有多少天

          在之前的文章《怎么通過PHP實(shí)現(xiàn)給定年月日計(jì)算總天數(shù)》中,我們介紹了一種給定年月日計(jì)算總天數(shù)的方法。這次我們來簡化一下方法,帶大家了解一下借助strtotime()函數(shù)怎么計(jì)算總天數(shù)。

          本文的主題是:給定一個(gè)年月日,計(jì)算截止這一天一共有多少天。

          這要怎么計(jì)算?沒有思路是不是,我們換個(gè)方向,簡化一下,不就是求 x年1月1日——x年x月x日之間隔了多少天,也就是求兩個(gè)日期的時(shí)間差。那么怎么求時(shí)間差呢?

          我們需要先將兩個(gè)日期:x年1月1日 和 x年x月x日 轉(zhuǎn)換為 時(shí)間戳

          $startdate = strtotime("{$year}-01-01"); $enddate = strtotime("{$year}-{$month}-{$day}");

          然后將兩個(gè)時(shí)間戳相減(結(jié)束時(shí)間 – 起始時(shí)間)

          $diff_seconds = $enddate-$startdate;

          這樣就會(huì)得到兩個(gè)日期的時(shí)間差,但此時(shí)還是以秒為單位計(jì)數(shù)的,不利于閱讀。

          因?yàn)橐惶煊?4小時(shí),1小時(shí)有60分鐘,1分鐘有60秒;換算一下24*60*60=86400,因此1天有86400秒。

          將時(shí)間差$diff_seconds除以86400,在使用floor()向下舍入為最接近的整數(shù)

          $time = floor(($diff_seconds)/86400);

          此時(shí)獲取到的是相差天數(shù),不包括x月x日這一天,要再加1,才是截止某年某月某日的總天數(shù)。

          我們來看看完整代碼:

          function GetDays($year,$month,$day){ 	$startdate = strtotime("{$year}-01-01"); 	$enddate = strtotime("{$year}-{$month}-{$day}"); 	$diff_seconds = $enddate-$startdate; 	$time = floor(($diff_seconds)/86400); 	$day = $time+1; 	echo "截止{$year}-{$month}-{$day} 共有 {$day} 天<br>"; }

          測(cè)試一下:計(jì)算截止2000-3-5的總天數(shù)(因?yàn)?000年是閏年,所以31+29+5=65)

          GetDays(2000,3,5);

          輸出結(jié)果為:

          PHP函數(shù)運(yùn)用之計(jì)算截止某年某月某日共有多少天

          OK,總天數(shù)是正確的!利用GetDays($year,$month,$day)函數(shù),我們還可以計(jì)算一年的總天數(shù)

          GetDays(2000,12,31); GetDays(2021,12,31);

          輸出結(jié)果為:

          PHP函數(shù)運(yùn)用之計(jì)算截止某年某月某日共有多少天

          好了就說到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦。→ →php視頻教程

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)