/*今天*/
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供鶴崗網(wǎng)站建設(shè)、鶴崗做網(wǎng)站、鶴崗網(wǎng)站設(shè)計(jì)、鶴崗網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、鶴崗企業(yè)網(wǎng)站模板建站服務(wù),十載鶴崗做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
select?*?from?表名?where?to_days(時(shí)間字段)?=?to_days(now());
/*昨天*/
select?*?from?表名?where?to_days(now())-to_days(時(shí)間字段)?=?1;
/*近7天*/
select?*?from?表名?where?date_sub(curdate(),?interval?7?day)?=?date(時(shí)間字段);
/*查詢距離當(dāng)前現(xiàn)在6個(gè)月的數(shù)據(jù)*/
select?*?from?表名?where?時(shí)間字段?between?date_sub(now(),interval?6?month)?and?now();
/*查詢當(dāng)前這周的數(shù)據(jù)*/
select?*?from?表名?where?yearweek(date_format(時(shí)間字段,'%Y-%m-%d'))?=?yearweek(now());
/*查詢上周的數(shù)據(jù)*/
select?*?from?表名?where?yearweek(date_format(時(shí)間字段,'%Y-%m-%d'))?=?yearweek(now())-1;
/*查詢當(dāng)前月份的數(shù)據(jù)*/
select?*?from?表名?where?date_format(時(shí)間字段,'%Y-%m')=date_format(now(),'%Y-%m');
/*查詢上個(gè)月的數(shù)據(jù)*/
select?*?from?表名?where?date_format(時(shí)間字段,'%Y-%m')=date_format(date_sub(curdate(),?interval?1?month),'%Y-%m');
其它獲取類似以上的代碼顯示
$j = date(j); //獲取當(dāng)前月份天數(shù)
$start_time = strtotime(date('Y-m-01')); //獲取本月第一天時(shí)間戳
$array = array();
for($i=0;$i$j;$i++){
$array[] = date('Y-m-d',$start_time+$i*86400); //每隔一天賦值給數(shù)組
}
print_r($array);
這個(gè)time()函數(shù)是將時(shí)間保存成時(shí)間戳格式,則要查當(dāng)月數(shù)據(jù),只要查當(dāng)月第一天到當(dāng)月最后一天的之間的數(shù)據(jù)即可。
假設(shè)這個(gè)用來(lái)判斷的字段是date
sql語(yǔ)句
SELECT ………… WHERE………… `date` = 本月第一天的time值 AND `date` 下個(gè)月第一天的time值
所以這里就只要獲取當(dāng)月第一天以及下個(gè)月第一天的時(shí)間戳
具體如下:
?php
$cur = date('Y-m',time());//當(dāng)天年月
$cur_y = date('Y',time());//當(dāng)天年份
$cur_m = date('m',time());//當(dāng)天月份
$cur_f = $cur . '-1';//本月首日
$first = strtotime($cur_f);//時(shí)間戳最小值,本月第一天時(shí)間戳
//下月首日
if($cur_m=12){
$cur_n = ($cur_y+1) . '-1-1';
}else{
$cur_n = $cur_y . '-' . ($cur_m+1) . '-1';
}
$last = strtotime($cur_n);//時(shí)間戳最大值,下個(gè)月第一天時(shí)間戳
?
再把$first 和 $last 放入sql語(yǔ)句里面就可以查詢到數(shù)據(jù)了