php - 如何使用 DateTime 将两个日期之间的日期放入数组中

标签 php arrays date datetime

我在这里要做的是从 3 个月的范围内获取具有特定条件的日期,并将它们放入数组中。

获取日期:

$begin = new DateTime( 'NOW' );
$end = new DateTime('NOW');
$end->modify('+6 month');

$interval = new DateInterval('P1D');
$period = new DatePeriod($begin, $interval ,$end);

过滤器以获取我的标准日期:

foreach ( $period as $dt ){
    if ((!($dt->format("l") === 'Saturday') || ($dt->format("l") === 'Sunday')) && ($dt->format("d") == '14')){
        $meeting = $dt->format( "Y-m-d" );
        echo $dt->format( "Y-m-d" ) . '<br />';

    }

    if((($dt->format("l") === 'Saturday') || ($dt->format("l") === 'Sunday')) && ($dt->format("d") == '14')){
        $dt->modify('Next monday');
        echo $dt->format( "Y-m-d" ) . '<br />';

    }   
}

echo '<hr>';
$interval_2 = new DateInterval('P1M');
$period_2 = new DatePeriod($begin, $interval_2 ,$end);

foreach ( $period_2 as $dt ){
    $dt->modify('last day of this month');  
    //echo $dt->format( "l Y-m-d\n" ) . '<br />';
    if(($dt->format("l") === 'Saturday') || ($dt->format("l") === 'Sunday') || ($dt->format("l") === 'Friday')){
        $dt->modify('previous Thursday');
        echo $dt->format( "Y-m-d" ) . '<br />';
    } else {
        echo $dt->format( "Y-m-d" ) . '<br />';
    }


}

所有这一切都很完美,但它们只是显示,我想将它们放在数组中以使用 fputcsv 将它们放入 CSV 文件中,所以我需要它们:

Month, first_date, second_date

我怎样才能做到这一点?

最佳答案

通过声明解决了我的问题:

$meet = array();
$test = array();

然后在每个 if 中:

$meet[] = $dt->format( "Y-m-d" );
$test[] = $dt->format( "Y-m-d" );

这样,如果您创建一个 var_dump,它将为每个变量创建一个数组。

关于php - 如何使用 DateTime 将两个日期之间的日期放入数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21415639/

相关文章:

c++ - 将多维数组传递给函数(C++)?

date - 有没有办法迭代特定的月份或星期

Jquery 日期选择器在 div 鼠标悬停时显示,在鼠标移出时隐藏

python - 在python中以特定格式获取日期

php - 如何在我的 html 网页中启用数学运算

php - 使用 map 和包含的 Laravel 集合

php - 使用 Retrofit 2 将 Pdf 上传到服务器

PHP - 完整显示远程页面的内容

perl - 为什么我的数组切片上的 grep 会导致 Perl 中的堆栈溢出?

java - 一些垃圾值正在打印。为什么?