php - php如何列印所有日期 bettween 2日期

  显示原文与译文双语对照的内容
98 5

我相信如果有可能的話我跟你聯繫。

我有 2個包含日期的字元串:d/m/Y

要即時:

$from_date="17/10/2018";
$till_date ="20/10/2018";

是否可以列印這些日期之間的總天數,以及列印日期?

要即時:

4 天

17/10/2018
18/10/2018
19/10/2018
20/10/2018
时间:原作者:0个回答

97 4

這應該可以工作:

$start = new DateTime('2018-10-17');
$end = new DateTime('2018-10-20');
while ($start <= $end) {
 echo $start->format('Y-m-d'). '<br>';
 $start->modify('+1 day');
}
原作者:
52 0

只是為了幫助實現. is的完整描述

你可以使用這裡代碼

echo date('Y-m-d', strtotime($from_date. ' + 1 days'));

直到第二天到達 $till_date

原作者:
136 5

使用 DateTime 類和它的關聯方法 createFromFormat 將提供的日期轉換為可以行的格式並添加 DateInterval 使它的相當的straigtforward 。

$start = DateTime::createFromFormat('d/m/Y','17/10/2018');
$end = DateTime::createFromFormat('d/m/Y','20/10/2018');
$int = new DateInterval('P1D'); #1 day
while( $start <= $end )echo $start->add( $int )->format('Y-m-d'). '<br/>';

輸出:

2018-10-18
2018-10-19
2018-10-20
2018-10-21
原作者:
56 3

是的,你可以嘗試這樣做:

$arr = array("17-10-2018","18-10-2018","19-10-2018","20-10-2018");
$countDateBetweenDates = 0;
foreach ($arr as $value) {
 if (strtotime($value)> strtotime("17-10-2018") && strtotime($value) <strtotime("20-10-2018")) {
 $countDateBetweenDates = $countDateBetweenDates + 1;
 } 
}
echo $countDateBetweenDates;
原作者:
...