【问题标题】:Get monthly array with start date and end date of month in php [duplicate]在php中获取包含月份开始日期和结束日期的每月数组[重复]
【发布时间】:2018-01-30 07:16:36
【问题描述】:

我们已经创建了 Weekly 数组

喜欢

[1] => 数组 ( [开始] => 2017-01-01 [结束] => 2017-01-07 )

但我们需要每月数组开始日期和月份结束日期

就这样

Array
   (
       [1] => Array
           (
               [start] => 2017-01-01
               [end] => 2017-02-01
           )

       [2] => Array
           (
               [start] => 2017-02-01
               [end] => 2017-03-01
           )

       [3] => Array
           (
               [start] => 2017-03-01
               [end] => 2017-04-01
           )

       [4] => Array
           (
               [start] => 2017-04-01
               [end] => 2017-05-01
           )

       [5] => Array
           (
               [start] => 2017-05-01
               [end] => 2017-06-01
           )

   )

【问题讨论】:

  • 发布您的代码..让我们看看您尝试了什么..
  • 如果你已经做了几个星期的数组,为什么你会有几个月的问题?
  • 每周有 7 天是固定的,但一个月的天数不是每次都固定

标签: php arrays date


【解决方案1】:

这里我们使用DateTimeDateInterval 来实现预期的输出。

Try this code snippet here

<?php
ini_set('display_errors', 1);

$startDate="2017-01-01";
$endDate="2017-06-01";

$dates=array();
while($startDate!=$endDate)
{
    $monthEndDate=new DateTime($startDate);
    $monthEndDate->add(new DateInterval("P1M"));//adding one month each time we iterate
    $dates[]=array("start" => $startDate,
                   "end" => $monthEndDate->format("Y-m-d"));
    $startDate=$monthEndDate->format("Y-m-d");//changing start date
}
print_r($dates);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 2023-03-10
    • 1970-01-01
    • 2014-05-29
    • 1970-01-01
    • 2014-03-02
    相关资源
    最近更新 更多