重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个问题我遇到过,如果你在MYSQL端用日期来查询,是很难避免这种情况的,所以这种情况下,你就得迭代一次一次去查询每一天的统计,我上次是用MySQL直接查的。后来还得重新判断日期,没有的默认为0,听恶心的,
创新互联主营荣昌网站建设的网络公司,主营网站建设方案,app软件开发,荣昌h5小程序制作搭建,荣昌网站营销推广欢迎荣昌等地区企业咨询
今天
select * from 表名 where mytime(时间字段名) = mytime(now());
昨天
select * from 表名 where mytime( now( ) ) - mytime( 时间字段名) = 1
7天
select * from 表名 where date_sub(cur(), interval(7 day = date(时间字段名)
先获取当前时间戳,再获取 数据库中时间戳 当前时间戳 - 3 * 24 * 3600
$time = time() - 3 * 24 * 3600; // 数据库中的时间戳大于这个值就是在三天之内
$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);//格式按你需要选取
附带:
相关时间参数:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "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 - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"