显示两个日期之间的日期

时间:2018-02-26 06:52:38

标签: php eloquent

我有一个请假系统,用户选择日期 from to 日期,请说2018-02-26 - {{1}这总共是6天。在我们的门户网站上,它显示了所有正在休假的用户。假设此用户申请了6天假,我将如何在我们的门户网站上显示此用户6天?下面是我的代码,它运行良好,但仅显示当前日期。

2018-03-03

我正在使用雄辩。感谢

5 个答案:

答案 0 :(得分:4)

// Specify the start date. This date can be any English textual format  
$date_from = "2018-02-03";   
$date_from = strtotime($date_from); // Convert date to a UNIX timestamp  
  
// Specify the end date. This date can be any English textual format  
$date_to = "2018-02-10";  
$date_to = strtotime($date_to); // Convert date to a UNIX timestamp  
  
// Loop from the start date to end date and output all dates inbetween  
for ($i=$date_from; $i<=$date_to; $i+=86400) {  
    echo date("Y-m-d", $i).'<br />';  
} 

答案 1 :(得分:2)

您可以在PHP中使用日期时间功能。

$first_date = new DateTime($currentDate);

$last_date = new DateTime($if);

$difference = $first_date->diff($last_date);

echo $difference->d.' days; 

如果您希望月份和年份使用$difference->m$difference->y。如果您想要准确的天数,即使日期为负值,也可以使用低于一天。

$result = $first_date->diff($last_date)->format("%r%a");

来源:/ datetime

答案 2 :(得分:1)

您可以使用date_diff()函数:

$interval = date_diff($currentDate, $lf);
echo $interval->format('%d');

更多信息:http://php.net/manual/en/function.date-diff.php; https://www.w3schools.com/php/func_date_date_diff.asp

答案 3 :(得分:1)

您可以使用PHP的DateTime函数 在你的情况下

$currentDate = date('Y-m-d');
$currentDate = new DateTime($currentDate);
$leaveDate = new DateTime($leaveFrom);
$difference = $currentDate->diff($leaveDate);

你会得到像

这样的结果
DateInterval Object ( [y] => 0 [m] => 0 [d] => 5 [h] => 0 [i] => 0 [s] => 0 [f] => 0 [weekday] => 0 [weekday_behavior] => 0 [first_last_day_of] => 0 [invert] => 0 [days] => 5 [special_type] => 0 [special_amount] => 0 [have_weekday_relative] => 0 [have_special_relative] => 0 )

答案 4 :(得分:0)

                      $many_days=0;
                $date_from = "2018-02-26";      
                  $date_to = "2018-03-03";    
                for ($i=strtotime($date_from);   $i<=strtotime($date_to);  
                     $i+=86400) {  

                       $many_days++;
                         } 

              echo  "leaves $many_days";