首页 > 其他 > mysql时间查询操作

mysql时间查询操作

最近长跟时间打交道,总感觉很麻烦不过还好了有点小突破,做好了在回想一下感觉很简单很简单,不过也需要加强学习,巩固一下。

《《通过时间查询》》昨天,本周,本月
首先是说明一下 date有好多函数不仅仅是我们所知道的格式化一个时间戳成
Y-m-d H:i:s形式 还有好多比如 date(‘N’,$time)今天是一周中第几天 j 月中第几天等等。需要加强学习。
某一天的日期也就是某一天凌晨的时候的时间。(强烈简历看php手册)反正我最近是经常看。hoho
时间处理:
统计昨日整天的操作记录:
1.取出今天当前的时间用time()函数,
2.用当前的时间减去86400就是昨天当前的时间,
3.把昨天当前的时间用date函数取出Y-m-d昨天的日期
4.用strtotime(昨天的日期)就是昨天的日期+0:00:00的时间
5.昨天日期+23:59:59就是昨天最终的时间
只要在数据库查询的时候让数据库时间如add_time大于strtotime(昨天日期+0:00:00

)小于strotime(昨天日期+23:59:59)就可以了。
关键点当前时间减去86400=3600*24就是昨天的这个时候的时间,把时间日期化就变成了

昨天凌晨的时间。在计算出昨天最后的时间就可以了。
在处理的时候取得的时间必须跟数据库时间格式一致。
本周操作记录处理:
1.统计今天是一周中第几天用date函数加 N
2.计算出周一是什么时候 周日又是什么时候 至于具体的到小时分钟秒的话我们可以自己

控制一下。比如只取出日期的话也就是0:00:00
$daynum=date(‘N’,$daytime); //今天是一周中第几天
$rate=86400;
function everyWeek1($num){
//周一是什么时间
$daytime=time();//当前时间
$rate =86400;//一天的倍数
$weekbeg=$daytime-$rate*($num-1);//本周周一这个时间的时间
return $weekbeg;
}
还要计算出周一凌晨的时间只要计算出周一日期然后strtotime函数格式化一下就可以了


function everyWeek2($num){
//周日是什么时间
$daytime=time();//当前时间
$rate =86400;
$weekend=$daytime+$rate*(7-$num);//周日的这个时候的时间
return $weekend;
}
还需要计算出周日一天中最后的时间,先计算出日期date(’Y-m-d’)加上23:59:59 最

后strtotime函数格式化一下就可以了。
然后在在数据库中直接查询就OK了。
本月操作记录处理:
1.同样首先用函数计算出今天是一个月中的第几天 date(‘j’,$time)
2.计算出这个月中第一天是什么时候同样也用函数表示出来
function everyMonth($mon){
//$mon 月中第几天
$daytime=time();//今天是什么时候
$rate =86400;//一天的时间
$monthbeg=$daytime-$rate*($mon-1); //计算出这个月第一天的这个时间
return $monbeg;
}
函数只是计算出这个月第一天的这个时候的时间,然后还需要计算出这个月第一天凌晨的

时间;
那么我们首先需要先用date函数计算出这个月第一天的日期也就是第一天的凌晨时间了。

分类: 其他 标签:
  1. 本文目前尚无任何评论.