php怎么查询一个时间段的内容?

wlnh420 2005-05-02 03:24:03
在asp里有个datdiff()的函数很方便查找。
在php中,有没有这样的函数?难道要自己写计算日期间隔的函数?

比如我想查找一周内的,一星期内的,三天内的纪录:
我数据库时间字段time:格式是2005-05-02 08-01-01
我的sql该怎么写?

select * from topic where (三天之内.....)?
select * from topic where (一星期之内.....)?

...全文
284 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lofly 2005-05-05
  • 打赏
  • 举报
回复
建议使用字符串形式存储时间.如用time()得到当前时间存入
#取出三天内所有数据
select * from table where time>=time()-3*24*60*60
helloyou0 2005-05-03
  • 打赏
  • 举报
回复
不是举了吗,

curdate()是当前时间,
interval 是表示时间段,
3 day就是3天
date_sub就是 减法

select * from topic
where DATE_SUB(CURDATE(),INTERVAL 3 DAY) <= time;
wlnh420 2005-05-03
  • 打赏
  • 举报
回复
谢谢,能不能给我举个例子,看不懂英文!
helloyou0 2005-05-02
  • 打赏
  • 举报
回复
select * from topic
where DATE_SUB(CURDATE(),INTERVAL 3 DAY) <= time;

http://dev.mysql.com/doc/mysql/en/date-and-time-functions.html
wlnh420 2005-05-02
  • 打赏
  • 举报
回复
没人看到,那我先顶一下!

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧