获得最近6个月的升序

时间:2019-05-14 04:39:10

标签: php

目标:使月份在图表中以升序显示[例如; 2018年12月,2019年1月,2019年2月]

我在这里尝试了解决方法:

PHP: get last 6 months in format month year

这很好用,只是它以降序显示月份。

所以我试图重写该代码以按升序显示它。

原始代码:

<?php
echo date('F, Y');
for ($i = 1; $i < 6; $i++) {
  echo date(', F Y', strtotime("-$i month"));
}
?>

这是我尝试过的:

<?php

$sixMonthAgo = date("F Y",strtotime("-5 month")); // To get the month 6 month ago

echo $sixMonthAgo;
for ($i = 1; $i < 6; $i++) {
  echo date(', F Y', strtotime("-$i month"));
}

?>

但是我意识到我的逻辑在这里是错误的。的确如此,我在$sixMonthAgo中获得了6个月前的一个月,但是我的循环逻辑是错误的。

我的循环获取当前日期,然后将月份减去相应的i值。如何将该日期替换为$ sixMonthAgo的值。

类似这样的内容:echo test(', F Y', strtotime("+$i month"));

1 个答案:

答案 0 :(得分:2)

从高到低迭代。我认为这行得通。

<?php
echo date('F, Y');
for ($i = 5; $i >= 0; $i--) {
  echo date(', F Y', strtotime("-$i month"));
}
?>