?php
特克斯网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站设计等网站项目制作,到程序开发,运营维护。创新互联公司2013年开创至今到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
$time = time();
/**
* 计算上一个月的今天,如果上个月没有今天,则返回上一个月的最后一天
* @param type $time
* @return type
*
*/
function last_month_today($time){
$last_month_time = mktime(date("G", $time), date("i", $time),
date("s", $time), date("n", $time), 0, date("Y", $time));
$last_month_t = date("t", $last_month_time); //二月份的天数
if ($last_month_t date("j", $time)) {
return date("Y-m-t H:i:s", $last_month_time);
}
return date(date("Y-m", $last_month_time) . "-d", $time);
}
echo last_month_today($time);
这个查询的sql语句是这样的select * from table(你查询资料的数据表名) where addtime(你资料表中添加时间的字段)=(1号的时间戳) and addtime=(15号的时间戳),这样你看下你要求出几个变量了:1号的时间戳和15号的时间戳,这样就可以查询出 1号至15号的资料了
由于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;
?php
$m = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y'))); //上个月的开始日期
echo $m."br";
$t = date('t',strtotime($m)); //上个月共多少天
echo $t."br";
$start = date('Y-m-d', mktime(0,0,0,date('m')-1,1,date('Y'))); //上个月的开始日期
$end = date('Y-m-d', mktime(0,0,0,date('m')-1,$t,date('Y'))); //上个月的结束日期
?
查询的时候就查询日期在$start到$end之间的数据就是上个月的数据了。