在 PHP 中获取两个日期之间的日期名称

Nan*_*ndu 3 php

如何在 PHP 中获取两个日期之间的天数?

输入:

开始日期:2013 年 1 月 1 日
结束日期:2013 年 1 月 5 日

输出:

周二
周三
周四
周五
周六

尝试过代码

$from_date ='01-01-2013';
$to_date ='05-01-2013';

$number_of_days = count_days(strtotime($from_date),strtotime($to_date));

for($i = 1; $i<=$number_of_days; $i++)
{
    $day = Date('l',mktime(0,0,0,date('m'),date('d')+$i,date('y')));
    echo "<br>".$day;       
}


function count_days( $a, $b )
{       
    $gd_a = getdate( $a );
    $gd_b = getdate( $b );
    
    $a_new = mktime( 12, 0, 0, $gd_a['mon'], $gd_a['mday'], $gd_a['year'] );
    $b_new = mktime( 12, 0, 0, $gd_b['mon'], $gd_b['mday'], $gd_b['year'] );
    
    return round( abs( $a_new - $b_new ) / 86400 );
}
Run Code Online (Sandbox Code Playgroud)

我看到了在两个日期之间查找特定日期的帖子PHP

但我没有得到结果
请帮助我

xda*_*azz 6

使用DateTime类,会简单很多:

$from_date ='01-01-2013';
$to_date ='05-01-2013';

$from_date = new DateTime($from_date);
$to_date = new DateTime($to_date);

for ($date = $from_date; $date <= $to_date; $date->modify('+1 day')) {
  echo $date->format('l') . "\n";
}
Run Code Online (Sandbox Code Playgroud)