Joh*_*ins 18 php datetime date
我有以下代码,从今天的日期开始返回接下来的13个星期一.
for($i=1; $i<=13; $i++){
echo date("Y-m-d", strtotime('+'.$i.' Monday'))."<br>";
}
Run Code Online (Sandbox Code Playgroud)
我希望能够修改它,这样它不仅可以显示接下来的13个星期一,还可以显示刚刚过去的星期一.
我尝试修改代码如下,但我得到下一个星期一返回的两个实例.
for($i=-1; $i<=13; $i++){
echo date("Y-m-d", strtotime('+'.$i.' Monday'))."<br>";
}
Run Code Online (Sandbox Code Playgroud)
数据已返回.
2015-04-13
2015-04-20 //<--
2015-04-20
2015-04-27
2015-05-04
2015-05-11
2015-05-18
2015-05-25
2015-06-01
2015-06-08
2015-06-15
2015-06-22
2015-06-29
2015-07-06
2015-07-13
Run Code Online (Sandbox Code Playgroud)
关于我如何实现这一点的任何想法?
我会这样做:
for($i =- 1; $i <= 13; $i == 0 ? $i += 2 : $i++){
echo date("Y-m-d", strtotime("$i Monday")) . "<br>";
}
Run Code Online (Sandbox Code Playgroud)
使用三元运算符检查是否$i为0 - 如果是,则将其增加2而不是1 :)
小智 5
试试这个:
echo date("Y-m-d", strtotime('-1 Monday'))."<br>";
for($i=1; $i<=13; $i++){
echo date("Y-m-d", strtotime('+'.$i.' Monday'))."<br>";
}
Run Code Online (Sandbox Code Playgroud)
或者你只需要一个for声明?