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



时间:

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;



...