PHP:两个日期之间的返回日期错误

广告人

我试着做一个函数,将返回两个日期之间的所有日期。

我的功能是这样的:

function dateRange($first, $last, $step = '+1 day', $format = 'd/m/Y' ) { 

    $dates = array();
    $current = strtotime($first);
    $last = strtotime($last);

    while( $current <= $last ) { 

        $dates[] = date($format, $current);
        $current = strtotime($step, $current);
    }

    return $dates;
}

我这样称呼它:

$duration = dateRange('25/08/2014', '28/08/2014', $step = '+1 day', $format = 'd/m/Y' );

它需要像这样的数组中返回每个日期:-

array("25/08/2014", "26/08/2014", "27/08/2014", "28/08/2014");

它在这样的数组中返回错误的日期:-

Array
(
    [0] => 01/01/1970
)

我怎样才能做到这一点?

格兰伯特

我将使用DateTime和DateInterval通过以下方式实现此目的:

function dateRange($first, $last, $step='P1D', $format='d/m/Y', $timezone='Europe/London')
{
    $dateObj = new DateTime($first, new DateTimeZone($timezone));
    $endDateObj = new DateTime($last, new DateTimeZone($timezone));
    $dateAry = array();
    $dateAry[]=$dateObj->format($format);
    while($dateObj->format($format) != $endDateObj->format($format)){
        $dateObj->add(new DateInterval($step));
        $dateAry[]=$dateObj->format($format);
    }
    return $dateAry;
}

$dates = dateRange('2014-08-25','2014-08-28');
print_r($dates);

更新:另外,请勿将$ first和$ last格式使用d / m / Y格式,因为它不受支持。如果需要,您可以以该格式输出。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

返回两个日期之间的数据

来自分类Dev

返回两个日期之间的数据

来自分类Dev

PHP的两个日期之间的时间是

来自分类Dev

两个日期之间的天数。日期错误在哪里?

来自分类Dev

两个日期之间的日期分开

来自分类Dev

从MDX查询SSAS返回两个日期之间的数据

来自分类Dev

MySQL返回两个日期之间的所有记录

来自分类Dev

两个日期之间的时间间隔返回nil

来自分类Dev

MySQL查询返回两个日期范围之间的行

来自分类Dev

Excel中两个日期之间的增量返回负数

来自分类Dev

两个日期之间的天数错误

来自分类Dev

查找使用php在两个日期之间修改的文件

来自分类Dev

在PHP中找到两个日期之间的差异

来自分类Dev

PHP:两个日期之间的天数列表

来自分类Dev

php中两个日期时间之间的时差

来自分类Dev

查找使用php在两个日期之间修改的文件

来自分类Dev

两个灵活日期之间的周数-PHP

来自分类Dev

PHP代码在两个日期之间过滤数据

来自分类Dev

计算PHP中两个日期之间的天数

来自分类Dev

PHP比较两个日期之间的差异

来自分类Dev

PHP - 计算两个日期时间之间的时间渲染

来自分类Dev

如何使用 PHP 在两个日期之间进行迭代

来自分类Dev

在两个日期之间选择 MS Access 和 php

来自分类Dev

两个日期之间的开始日期和结束日期

来自分类Dev

如何返回两个日期之间的周末日期列表

来自分类Dev

一种返回两个日期之间的日期数组的方法 - Swift 3

来自分类Dev

获取两个日期之间的日期列表未正确返回 JS

来自分类Dev

SQL:两个日期之间的差异

来自分类Dev

两个日历日期之间的时差