RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 846599
Accepted
YevgeniyM
YevgeniyM
Asked:2020-06-26 01:01:34 +0000 UTC2020-06-26 01:01:34 +0000 UTC 2020-06-26 01:01:34 +0000 UTC

将日期范围拆分为月份(开始-结束)

  • 772

有一个日期范围,例如:

$interval_start = '2018-05-20';
$interval_end = '2018-07-15';

任务:将此范围划分为月份,找出月份的开始和结束。那些。它应该看起来像这样:

Array
(
    [1] => Array
        (
            [0] => 2018-05-20
            [1] => 2018-05-21
            [2] => 2018-05-22
            [3] => 2018-05-23
            [4] => 2018-05-24
            [5] => 2018-05-25
            [6] => 2018-05-26
            [7] => 2018-05-27
            [8] => 2018-05-28
            [9] => 2018-05-29
            [10] => 2018-05-30
            [11] => 2018-05-31
        )

    [2] => Array
        (
            [0] => 2018-06-01
            [1] => 2018-06-02
            [2] => 2018-06-03
            [3] => 2018-06-04
            [4] => 2018-06-05
            [5] => 2018-06-06
            [6] => 2018-06-07
            [7] => 2018-06-08
            [8] => 2018-06-09
            [9] => 2018-06-10
            [10] => 2018-06-11
            [11] => 2018-06-12
            [12] => 2018-06-13
            [13] => 2018-06-14
            [14] => 2018-06-15
            [15] => 2018-06-16
            [16] => 2018-06-17
            [17] => 2018-06-18
            [18] => 2018-06-19
            [19] => 2018-06-20
            [20] => 2018-06-21
            [21] => 2018-06-22
            [22] => 2018-06-23
            [23] => 2018-06-24
            [24] => 2018-06-25
            [25] => 2018-06-26
            [26] => 2018-06-27
            [27] => 2018-06-28
            [28] => 2018-06-29
            [29] => 2018-06-30
        )

    [3] => Array
        (
            [0] => 2018-07-01
            [1] => 2018-07-02
            [2] => 2018-07-03
            [3] => 2018-07-04
            [4] => 2018-07-05
            [5] => 2018-07-06
            [6] => 2018-07-07
            [7] => 2018-07-08
            [8] => 2018-07-09
            [9] => 2018-07-10
            [10] => 2018-07-11
            [11] => 2018-07-12
            [12] => 2018-07-13
            [13] => 2018-07-14
            [14] => 2018-07-15
       )
)

我尝试使用 DateInterval (如果除以周,它可以正常工作),但它不能正确除以月:

$interval = new DateInterval('P1D');
    $dateRange = new DatePeriod($start, $interval, $end);

    $weekNumber = 1;
    $weeks = array();
    foreach ($dateRange as $date) {
        $weeks[$weekNumber][] = $date->format('Y-m-d');
        if ($date->format('j') == 1) {
            $weekNumber++;
        }
    }
datetime
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    user300864
    2020-06-26T04:59:23Z2020-06-26T04:59:23Z
    $period = new DatePeriod(
       new DateTime('2018-05-20'),
       new DateInterval('P1D'),
       (new DateTime('2018-07-15'))->modify('+1 day')
    );
    
    $months = array();
    foreach ($period as $date) {
       $months[(int)$date->format('m') - 5][] = $date->format('Y-m-d');
    }
    var_dump($months);
    
    • 1

相关问题

  • 佳能IXUS 185相机的日期戳是什么字体

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5