需求是这样的,从周一到周日只能看到上周一到上周日的数据。
这里直接从数据库里根据 date 字段查询 范围即可。
但需要php生成 开始日期和结束日期。
最开始,我直接这么处理。
复制代码 代码如下:
$start_date = date('y-m-d' , strtotime(-2 week monday));
$end_date = date('y-m-d' , strtotime($start_date +6 day));
假如日期是 2011-07-19,$start_date= 2011-07-11 这样处理没有问题。
如果日期是 2011-07-18 ,$start_date 则会等于 2011-07-04,还活在上周。
于是换了种方法
复制代码 代码如下:
$getweekday = date(w);
$startday = date(y-m-d, mktime(0, 0, 0, date(m), date(d) - $getweekday + 1 - 7, date(y)));
$endday = date(y-m-d, strtotime(+6 day $startday));
假如日期是 2011-07-19,$start_date= 2011-07-11 这样处理没有问题,和我们期望的一样。
如果日期是 2011-07-24,我们期望的 $start_date 是 2011-07-11,但实际返回的是 2011-07-18。
不得已,我再改了下方法
复制代码 代码如下:
$getweekday = date(n) ;
$startday = date(y-m-d, mktime(0, 0, 0, date(m), date(d) - $getweekday + 1 - 7, date(y)));
$endday = date(y-m-d, strtotime(+6 day $startday));
这下就ok 了。 以上就介绍了不孝有三无后为大什么意思 php中一个有意思的日期逻辑处理,包括了不孝有三无后为大什么意思方面的内容,希望对php教程有兴趣的朋友有所帮助。
