duanshan1856 2017-09-29 09:31
浏览 63
已采纳

PHP Carbon Laravel - No 022017

I need to get the last 13 months starting from the current month but when I try the code below. It gets every month but 022017. Any suggestions on why?

for ($i = 13; $i > 0; $i--) {
    $dates->addDate(Carbon::now()->subMonth($i)->format('mY'));
}

results:

0 => "082016"
1 => "092016"
2 => "102016"
3 => "112016"
4 => "122016"
5 => "012017"
6 => "032017"
7 => "042017"
8 => "052017"
9 => "062017"
10 => "072017"
11 => "082017"
  • 写回答

1条回答 默认 最新

  • ds355020 2017-09-29 14:25
    关注

    Because you use Carbon::now() and you send this question on the 29th. It will skip february because there are only 28 days for that month.

    Something like this should work:

    $now = Carbon::now();
    $month = $now->day = 1;
    for ($i = 13; $i > 0; $i--) {
        $month->subMonth();
        $dates->addDate($month->format('mY'));
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?