我正在尝试建立一个图表来显示学生的进步,仅显示最后几周(星期一)的m / d。 这是我尝试过的:
byte[]
当前迭代为我提供了一系列01/01。 有人可以帮忙吗? 谢谢。
答案 0 :(得分:4)
您可以使用PHP的DateTime类。
<?php
$nextMonday = new \DateTime(date('Y-m-d') . ' previous Monday');
echo "<br/>" . $nextMonday->format('Y-m-d');
for ($i=1 ; $i<=9 ; ++$i) {
$nextMonday->sub(new DateInterval('P7D'));
echo "<br/>" . $nextMonday->format('Y-m-d');
}
输出:
2019-04-22
2019-04-15
2019-04-08
2019-04-01
2019-03-25
2019-03-18
2019-03-11
2019-03-04
2019-02-25
2019-02-18
代码解释:
首先获得上周一。
现在,添加1到9的循环(我们已经有最近的星期一)。
在循环中,将日期减去7天(P->期限,7D-> 7天)
这样,我们只能跨到星期一,而(星期一至星期一)相差7天。
它将在最近的10个星期一(循环之前的1和循环之后的9)打印。
答案 1 :(得分:0)
$thisMonday = strtotime('this Monday');
$lastMonday = $thisMonday - 86400 * 7; //a day has 86400 seconds
$secondLastMonday = $thisMonday - 86400 * 14;
... 等等!