這個問題我遇到過,如果你在MYSQL端用日期來查詢,是很難避免這種情況的,所以這種情況下,你就得迭代一次一次去查詢每一天的統(tǒng)計,我上次是用MySQL直接查的。后來還得重新判斷日期,沒有的默認為0,聽惡心的,
創(chuàng)新互聯(lián)主營榮昌網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),榮昌h5小程序制作搭建,榮昌網(wǎng)站營銷推廣歡迎榮昌等地區(qū)企業(yè)咨詢
今天
select * from 表名 where mytime(時間字段名) = mytime(now());
昨天
select * from 表名 where mytime( now( ) ) - mytime( 時間字段名) = 1
7天
select * from 表名 where date_sub(cur(), interval(7 day = date(時間字段名)
先獲取當(dāng)前時間戳,再獲取? ?數(shù)據(jù)庫中時間戳 當(dāng)前時間戳? -? 3 * 24 * 3600
$time?=?time()?-?3?*?24?*?3600;?//?數(shù)據(jù)庫中的時間戳大于這個值就是在三天之內(nèi)
$sql?=?"SELECT?name?FROM?tableName?WHERE?passtime??$time";?//?查詢?name?的值
$t = time()+3600*8;//這里和標準時間相差8小時需要補足
$tget = $t-3600*24*5;//比如5天前的時間
echo date("Y-m-d H:i:s 星期w",$tget);//格式按你需要選取
附帶:
相關(guān)時間參數(shù):
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 幾日,二位數(shù)字,若不足二位則前面補零; 如: "01" 至 "31"
D - 星期幾,三個英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小時制的小時; 如: "01" 至 "12"
H - 24 小時制的小時; 如: "00" 至 "23"
g - 12 小時制的小時,不足二位不補零; 如: "1" 至 12"
G - 24 小時制的小時,不足二位不補零; 如: "0" 至 "23"
i - 分鐘; 如: "00" 至 "59"
j - 幾日,二位數(shù)字,若不足二位不補零; 如: "1" 至 "31"
l - 星期幾,英文全名; 如: "Friday"
m - 月份,二位數(shù)字,若不足二位則在前面補零; 如: "01" 至 "12"
n - 月份,二位數(shù)字,若不足二位則不補零; 如: "1" 至 "12"
M - 月份,三個英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序數(shù),二個英文字母; 如: "th","nd"
t - 指定月份的天數(shù); 如: "28" 至 "31"
U - 總秒數(shù)
w - 數(shù)字型的星期幾,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位數(shù)字; 如: "1999"
y - 年,二位數(shù)字; 如: "99"
z - 一年中的第幾天; 如: "0" 至 "365"