Heim > Backend-Entwicklung > PHP-Tutorial > php 获取开始日期与结束日期之间所有日期

php 获取开始日期与结束日期之间所有日期

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-07-28 08:29:32
Original
989 Leute haben es durchsucht

因项目需求,需要获取指定日期段内的数据按每日进行处理。

例如需要对2016-06-01至2016-06-05日期段内,每一天的数据进行处理。首先需要获取这个日期段内每一天日期,再循环执行处理。

<code><span><span><?php </span><span>$date</span> = <span>array</span>(<span>'2016-06-01'</span>,<span>'2016-06-02'</span>,<span>'2016-06-03'</span>,<span>'2016-06-04'</span>,<span>'2016-06-05'</span>);
<span>foreach</span>(<span>$date</span><span>as</span><span>$d</span>){
    <span>// 执行处理</span>
}
<span>?></span></span></span></code>
Nach dem Login kopieren

如果日期段跨度大(2015-09-01至2016-06-30),并且有跨年,跨月(闰月)的情况,人手创建日期数组太费时间且不合理。

因此写了以下方法,可以获取指定日期段内每一天的日期,代码如下:

<code><span><span><span><?php </span>
/**
 * 获取指定日期段内每一天的日期
 *<span> @param</span>  Date  $startdate 开始日期
 *<span> @param</span>  Date  $enddate   结束日期
 *<span> @return</span> Array
 */</span><span><span>function</span><span>getDateFromRange</span><span>(<span>$startdate</span>, <span>$enddate</span>)</span>{</span><span>$stimestamp</span> = strtotime(<span>$startdate</span>);
    <span>$etimestamp</span> = strtotime(<span>$enddate</span>);

    <span>// 计算日期段内有多少天</span><span>$days</span> = (<span>$etimestamp</span>-<span>$stimestamp</span>)/<span>86400</span>+<span>1</span>;

    <span>// 保存每天日期</span><span>$date</span> = <span>array</span>();

    <span>for</span>(<span>$i</span>=<span>0</span>; <span>$i</span>$days</span>; <span>$i</span>++){
        <span>$date</span>[] = date(<span>'Y-m-d'</span>, <span>$stimestamp</span>+(<span>86400</span>*<span>$i</span>));
    }

    <span>return</span><span>$date</span>;
}

<span>// demo</span><span>$date</span> = getDateFromRange(<span>'2016-02-25'</span>,<span>'2016-03-05'</span>);
print_r(<span>$date</span>);

<span>?></span></span></code>
Nach dem Login kopieren

输出:

<code><span>Array</span>
(
    [<span>0</span>] => <span>2016</span>-<span>02</span>-<span>25</span>
    [<span>1</span>] => <span>2016</span>-<span>02</span>-<span>26</span>
    [<span>2</span>] => <span>2016</span>-<span>02</span>-<span>27</span>
    [<span>3</span>] => <span>2016</span>-<span>02</span>-<span>28</span>
    [<span>4</span>] => <span>2016</span>-<span>02</span>-<span>29</span>
    [<span>5</span>] => <span>2016</span>-<span>03</span>-<span>01</span>
    [<span>6</span>] => <span>2016</span>-<span>03</span>-<span>02</span>
    [<span>7</span>] => <span>2016</span>-<span>03</span>-<span>03</span>
    [<span>8</span>] => <span>2016</span>-<span>03</span>-<span>04</span>
    [<span>9</span>] => <span>2016</span>-<span>03</span>-<span>05</span>
)</code>
Nach dem Login kopieren
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了 php 获取开始日期与结束日期之间所有日期,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage