php怎么做1号至15号查询上个月的资料

php怎么做1号至15号查询上个月的资料,第1张

这个查询的sql语句是这样的select from table(你查询资料的数据表名) where addtime(你资料表中添加时间的字段)>=(1号的时间戳) and addtime<=(15号的时间戳),这样你看下你要求出几个变量了:1号的时间戳和15号的时间戳,这样就可以查询出 1号至15号的资料了

这个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语句里面就可以查询到数据了

由于php内置时间函数 strtotime 在求上个月这个功能上存在bug,所以放弃不用了……

上个自己写的临时用的,楼主看看:

$thismonth = date('m');

$thisyear = date('Y');

if($thismonth==1) {

$lastmonth = 12;

$lastyear = $thisyear-1;

} else {

$lastmonth = $thismonth - 1;

$lastyear = $thisyear;

}

$lastStartDay = $lastyear'-'$lastmonth'-1';

$lastEndDay = $lastyear'-'$lastmonth'-'date('t',strtotime($lastStartDay));

echo 'lastStartDay = '$lastStartDay;

echo '<br/>';

echo 'lastEndDay = '$lastEndDay;

/

获取指定月份的第一天开始和最后一天结束的时间戳

@param int $y 年份 $m 月份

@return array(本月开始时间,本月结束时间)

/

function mFristAndLast($y="",$m=""){

if($y=="") $y=date("Y");

if($m=="") $m=date("m");

$m=sprintf("%02d",intval($m));

$y=str_pad(intval($y),4,"0",STR_PAD_RIGHT);

$m>12||$m<1$m=1:$m=$m;

$firstday=strtotime($y$m"01000000");

$firstdaystr=date("Y-m-01",$firstday);

$lastday = strtotime(date('Y-m-d 23:59:59', strtotime("$firstdaystr +1 month -1 day")));

return array("firstday"=>$firstday,"lastday"=>$lastday);

}

以上就是关于php怎么做1号至15号查询上个月的资料全部的内容,包括:php怎么做1号至15号查询上个月的资料、php中用time()函数存入时间,如何查询当月的数据、php如何求上一个月月初至月末等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9744869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存