php中用time()函数存入时间,如何查询当月的数据
4个回答
展开全部
这个time()函数是将时间保存成时间戳格式,则要查当月数据,只要查当月第一天到当月最后一天的之间的数据即可。
假设这个用来判断的字段是date
sql语句
SELECT ………… WHERE………… `date` >= 本月第一天的time值 AND `date` < 下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
<?php
$cur = date('Y-m',time());//当天年月
$cur_y = date('Y',time());//当天年份
$cur_m = date('m',time());//当天月份
$cur_f = $cur . '-1';//本月首日
$first = strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m>=12){
$cur_n = ($cur_y+1) . '-1-1';
}else{
$cur_n = $cur_y . '-' . ($cur_m+1) . '-1';
}
$last = strtotime($cur_n);//时间戳最大值,下个月第一天时间戳
?>
再把$first 和 $last 放入sql语句里面就可以查询到数据了
假设这个用来判断的字段是date
sql语句
SELECT ………… WHERE………… `date` >= 本月第一天的time值 AND `date` < 下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
<?php
$cur = date('Y-m',time());//当天年月
$cur_y = date('Y',time());//当天年份
$cur_m = date('m',time());//当天月份
$cur_f = $cur . '-1';//本月首日
$first = strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m>=12){
$cur_n = ($cur_y+1) . '-1-1';
}else{
$cur_n = $cur_y . '-' . ($cur_m+1) . '-1';
}
$last = strtotime($cur_n);//时间戳最大值,下个月第一天时间戳
?>
再把$first 和 $last 放入sql语句里面就可以查询到数据了
展开全部
哎,存数据库的时候为什么不用数据库的now()呢(设置数据库列为DATETIME类型),例如保存的语句是:
insert into tbl(tm,...) values(now(),...)
那么要查询当前月的语句就非常简单:
select * from tbl where tm between '2008-9-1' and '2008-9-30'
你现在保存的时候为PHP的time(),那么数据库的列类型可能是int,要查询当前月的,就需要下面这样:
$start=mktime(0,0,0,9,1,2008);//时分秒月日年
$sql="select * from tbl where tm>='$start'";
上面假设你没有当前月之后的数据,如果有的话,需要类似的再做一个结束日期做为限制条件。
insert into tbl(tm,...) values(now(),...)
那么要查询当前月的语句就非常简单:
select * from tbl where tm between '2008-9-1' and '2008-9-30'
你现在保存的时候为PHP的time(),那么数据库的列类型可能是int,要查询当前月的,就需要下面这样:
$start=mktime(0,0,0,9,1,2008);//时分秒月日年
$sql="select * from tbl where tm>='$start'";
上面假设你没有当前月之后的数据,如果有的话,需要类似的再做一个结束日期做为限制条件。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个time()函数是将时间保存成时间戳格式,则要查当月数据,只要查当月第一天到当月最后一天的之间的数据即可。
假设这个用来判断的字段是date
sql语句
SELECT
…………
WHERE…………
`date`
>=
本月第一天的time值
AND
`date`
<
下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
<?php
$cur
=
date('Y-m',time());//当天年月
$cur_y
=
date('Y',time());//当天年份
$cur_m
=
date('m',time());//当天月份
$cur_f
=
$cur
.
'-1';//本月首日
$first
=
strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m>=12){
$cur_n
=
($cur_y+1)
.
'-1-1';
}else{
$cur_n
=
$cur_y
.
'-'
.
($cur_m+1)
.
'-1';
}
$last
=
strtotime($cur_n);//时间戳最大值,下个月第一天时间戳
?>
再把$first
和
$last
放入sql语句里面就可以查询到数据了
假设这个用来判断的字段是date
sql语句
SELECT
…………
WHERE…………
`date`
>=
本月第一天的time值
AND
`date`
<
下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
<?php
$cur
=
date('Y-m',time());//当天年月
$cur_y
=
date('Y',time());//当天年份
$cur_m
=
date('m',time());//当天月份
$cur_f
=
$cur
.
'-1';//本月首日
$first
=
strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m>=12){
$cur_n
=
($cur_y+1)
.
'-1-1';
}else{
$cur_n
=
$cur_y
.
'-'
.
($cur_m+1)
.
'-1';
}
$last
=
strtotime($cur_n);//时间戳最大值,下个月第一天时间戳
?>
再把$first
和
$last
放入sql语句里面就可以查询到数据了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个time()函数是将时间保存成时间戳格式,则要查当月数据,只要查当月第一天到当月最后一天的之间的数据即可。
假设这个用来判断的字段是date
sql语句
SELECT
…………
WHERE…………
`date`
>=
本月第一天的time值
AND
`date`
<
下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
<?php
$cur
=
date('Y-m',time());//当天年月
$cur_y
=
date('Y',time());//当天年份
$cur_m
=
date('m',time());//当天月份
$cur_f
=
$cur
.
'-1';//本月首日
$first
=
strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m>=12){
$cur_n
=
($cur_y+1)
.
'-1-1';
}else{
$cur_n
=
$cur_y
.
'-'
.
($cur_m+1)
.
'-1';
}
$last
=
strtotime($cur_n);//时间戳最大值,下个月第一天时间戳
?>
再把$first
和
$last
放入sql语句里面就可以查询到数据了
假设这个用来判断的字段是date
sql语句
SELECT
…………
WHERE…………
`date`
>=
本月第一天的time值
AND
`date`
<
下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
<?php
$cur
=
date('Y-m',time());//当天年月
$cur_y
=
date('Y',time());//当天年份
$cur_m
=
date('m',time());//当天月份
$cur_f
=
$cur
.
'-1';//本月首日
$first
=
strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m>=12){
$cur_n
=
($cur_y+1)
.
'-1-1';
}else{
$cur_n
=
$cur_y
.
'-'
.
($cur_m+1)
.
'-1';
}
$last
=
strtotime($cur_n);//时间戳最大值,下个月第一天时间戳
?>
再把$first
和
$last
放入sql语句里面就可以查询到数据了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询