计算php中的两个日期之间的所有日期? [英] Calculate all dates between 2 dates in php?

查看:111
本文介绍了计算php中的两个日期之间的所有日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个日期

$st_date = '2012-07-20';
$ed_date = '2012-07-27';

我想显示 $ st_date $ ed_date
As:

I want to display all dates from $st_date to $ed_date As:

2012-07-20
2012-07-21
2012-07-22
2012-07-23
2012-07-24
2012-07-25
2012-07-26
2012-07-27

我以为先计数差,运行foreach<计数,并将$ i天添加到$ st_date。

但是我不想要循环,它增加代码。任何直接的date()返回一个全部数组。

I thought first count difference, run foreach < count, and add $i day to $st_date.
But i don't want loop, it increases code. Any of direct date() which return an array of all-dates.

推荐答案

无循环使用range()& array_map():

Without loop using range() & array_map() :

编辑:有一点错误,你必须跳86400,因为1天= 86400秒,所以代码应该罚款现在:)


a little mistake, you have to jump 86400, because 1 day = 86400 seconds, so the code should be fine now :)

    $st_date = '2012-07-20';
    $ed_date = '2012-07-27';
    $dates = range(strtotime($st_date), strtotime($ed_date),86400);
    $range_of_dates = array_map("toDate", $dates);
    print_r($range_of_dates);
    function toDate($x){return date('Y-m-d', $x);}

?>

这篇关于计算php中的两个日期之间的所有日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆