PHP는 시작일과 종료일 사이의 모든 날짜를 가져옵니다.

WBOY
풀어 주다: 2016-07-28 08:29:32
원래의
951명이 탐색했습니다.

프로젝트 요구사항으로 인해 지정된 날짜 범위 내에서 데이터를 수집하고 매일 처리해야 합니다.

예를 들어 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></code>
로그인 후 복사

날짜 범위가 큰 기간(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><<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></span></code>
로그인 후 복사

출력:

<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>
로그인 후 복사
').addClass ('사전 번호 매기기').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용은 내용을 포함하여 시작 날짜와 종료 날짜 사이의 모든 날짜를 가져오는 PHP를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿