php 有趣的日期逻辑处理
发布:smiling 来源: PHP粉丝网 添加日期:2014-05-13 08:20:55 浏览: 评论:0
今天处理了一个很小的问题,需求是这样的,从周一到周日只能看到上周一到上周日的数据,这里直接从数据库里根据 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 了.
Tags: php 逻辑 日期
相关文章
- ·php 取出周一和周日的时间戳(2013-11-12)
- ·php日期格式详细说明(2013-11-12)
- ·PHP date 格式化一个本地时间/日期(2013-11-13)
- ·php中计算时间差的几种方法(2013-11-13)
- ·探讨PHP时间戳与日期之间的转换及应用(2013-11-14)
- ·php 时区设置相差8小时间程序与php.ini配置方法(2013-11-23)
- ·在php中有没有日期相减的函数(2013-11-27)
- ·PHP中计算时间差的几种方法(2013-11-27)
- ·关于时间戳问题(2013-11-28)
- ·php获取服务器时间(解决8小时差距问题)(2013-11-28)
- ·php日期格式合法性正则验证代码(2013-11-28)
- ·PHP系统时区8小时差设置方法(2013-11-29)
- ·php中两日期比较程序代码(2013-11-30)
- ·php 日期加减法运算实现代码(2013-12-27)
- ·PHP常用的日期和时间总结(2014-01-05)
- ·PHP时间戳和日期相互转换(2014-01-06)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)