使用循环,输出2个数组,start数组存开始时间,stop数组存截至时间。
假如今天是3月27日,则start数组是:
Array
(
[0] => 2017-03-20
[1] => 2017-03-13
[2] => 2017-03-06
[3] => 2017-02-27
)
stop数组是:
Array
(
[0] => 2017-03-26
[1] => 2017-03-19
[2] => 2017-03-12
[3] => 2017-03-05
)
如下图:
请问如何才可以使任意在任意哪一天都可以输出以上结果?从周一开始,周日截至。我写的代码现在只是在星期一的时候生效,但是我改了系统时间为其他天数就不生效了。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
例子是输出上一周,上两周就是最后那个-2其他类推。。。YEARWEEK函数第二个参数给1是从周一开始算一周,默认不给是周日起算。
我仅仅是抛个砖。
PHP支持很多日期时间的表示方式的,时间处理的相关函数和
DateTime相关对象都能很好的支持。上面的方法有两个问题,如果开始的日期是星期一(比如2017-03-27就是),那么
'previous Monday'会如字面意思是上一个星期一(2017-03-27的上一个星期一就是2017-03-20),如果不是,那么会是当周的星期一(比如2017-03-28星期二的上一个星期一就是2017-03-27)。另一个问题就是周日,如果要获取当周的星期日,肯定不能用
'previous Sunday'了,比如2017-03-27的当周星期日是4月2日(如果你的日历是以星期一开始星期日结束,如果是星期日开始星期六结束那又要另说了),如果获取上一个星期日就会是2017-03-26了。所以处理日期的问题其实还是比较复杂的,关于PHP支持的日期时间表示格式可以参见文档Supported Date and Time Formats。