首頁  >  文章  >  後端開發  >  PHP 怎麼計算某一天到某一天一共的天數然後增加?

PHP 怎麼計算某一天到某一天一共的天數然後增加?

WBOY
WBOY原創
2016-10-12 10:04:071498瀏覽

就比如說 9月15號 9月16號 9月17號,知道從哪天開始、到哪天結束。怎麼算出中間的日期。

回覆內容:

就比如說 9月15號 9月16號 9月17號,知道從哪天開始、到哪天結束。怎麼算出中間的日期。

既然知道開始和結束時間,那麼用結束時間戳減去開始時間戳的差值除以86400就是間隔天數

如果是取得中間的日期,我覺得樓上 南小鳥 的程式碼不夠簡潔,如下

<code>$start = new DateTime('2016-09-15');
$end =  new DateTime('2016-09-17');

for ($start;$start<=$end;$start->modify('+1 day')) {
   echo $start->format('Y-m-d')."<br/>";
}</code>

推薦我用過的最好的PHP時間處理擴充: Carbon,基本上所有的關於時間的計算都能搞定

Carbon比較方便
不過PHP預設的就有這個功能

<code>$start = new DateTime('2016-09-15');
$end =  new DateTime('2016-09-17');
$inteval = new DateInteval('P1D');
$period = new DatePeriod($start, $end, $inteval);
foreach ($period as $date) {

}</code>

<code>
$start = '2016-09-15';
$end = '2016-09-17';

$start = strtotime($start);
$end = strtotime($end);

$days = ($end - $start) / 3600 / 24;

for ($i = 0; $i <= $days; $i++) {
    echo date('Y-m-d', $start + 3600 * 24 * $i) . "<br>";
}

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