今天处理了一个很小的问题。
需求是这样的,从周一到周日只能看到上周一到上周日的数据。
这里直接从数据库里根据 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 了。
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
-
-
-
-
-
-
-
管理后台无限级菜单
管理后台菜单遍历很久就想做一个通用的管理后台出来,一直太懒没做,今天开始粗略搞了一下,只是先把框架搭建好,菜单栏...
[阅读全文]
-
桥接模式学习总结
桥接模式引言假如一个系统需要加入报表模块,主要的开发点是数据的获取和报表的显示方式。数据的获取可能是从系统数据库...
[阅读全文]
-
网友评论