关于搜索数据库时间的问题 -- 急!! SELECT * FROM TABLENAME WHERE TIMEFIELD >= ADDDATE(DATE_FORMAT(NOW(), '%Y-%c-%d'), INTERVAL 12 DAY_HOUR) AND TIMEFIELD < ADDDATE(DATE_FORMAT(NOW(), '%Y-%c-%d'), INTERVAL 36 DAY_HOUR); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思是根据访问时间(now())来搜索数据库中符合当天日期的记录。当天日期的定义为:每天的中午12点到第二天的中午12点,如果now()超过晚上12点(如02:00),那当天日期是昨天中午12点到今天中午的12点。 我想在php中计算time()来确定时间范围,但比较麻烦,要判断当前时间的小时和日期部分,再来计算时间范围是多少。这样虽然可以做到,但感觉好烦,哪位高手有方便一点的办法? 用这段代码吧。。$nowtime=gettimeofday();$thistime=$nowtime["sec"];$ttime=$nowtime["sec"]+86400;$thisday=date("Y-m-j",$thistime). " 12:00:00";//今天12点$tday=date("Y-m-j",$ttime)." 12:00:00";//明天12点或者你把它做成一个函数也行。。 uGain(uGain.org) :你好,我还没有试,现在没有数据,你能解释一下时间加减的意思吗? DATE_FORMAT(NOW(), '%Y-%c-%d')得到当前的日期,返回2004-12-01ADDDATE(DATE_FORMAT(NOW(), '%Y-%c-%d'), INTERVAL 12 DAY_HOUR)得到当天12点的时间,返回2004-12-01 12:00:00ADDDATE(DATE_FORMAT(NOW(), '%Y-%c-%d'), INTERVAL 36 DAY_HOUR)得到第二天12点的时间,返回2004-12-02 12:00:00 SELECT * FROM TABLENAME WHERE TIMEFIELD >= ADDDATE(DATE_FORMAT(ADDDATE(NOW(), INTERVAL -12 DAY_HOUR), '%Y-%C-%D'), INTERVAL 12 DAY_HOUR) AND TIMEFIELD < ADDDATE(DATE_FORMAT(ADDDATE(NOW(), INTERVAL -12 DAY_HOUR), '%Y-%C-%D'), INTERVAL 36 DAY_HOUR);取得当前时间NOW()-12小时的时间得到你要求的日期.如,2004-12-02 09:12:10减12小时后为2004-12-01 21:12:10,得到日期为2004-12-01,再得到以这个日期为基础的时间范围。2004-12-01 12:00:00 到 2004-12-02 12:00:00 php输出空心金字塔问题,求高人帮忙看下是哪的问题. bbs得到某一个主贴下的所有回帖php代码怎么写? php切割txt文档可以按KB切割吗 精通NoSQL的进来看看这种情况有什么好的解决方案?? thinkphp下载功能 关于系统邮箱的问题 关于UChome的一个问题 php if 语句,对两个字段比较怎么? 关于php拥有root权限的问题 各位大侠,我觉得PHP的配置好麻烦的,看不懂 phplib的block问题??? 如何把php中变量值传到javascript中的变量?并且在javascript中不显示此变量的值
当天日期的定义为:每天的中午12点到第二天的中午12点,如果now()超过晚上12点(如02:00),那当天日期是昨天中午12点到今天中午的12点。
$thistime=$nowtime["sec"];
$ttime=$nowtime["sec"]+86400;
$thisday=date("Y-m-j",$thistime). " 12:00:00";//今天12点
$tday=date("Y-m-j",$ttime)." 12:00:00";//明天12点或者你把它做成一个函数也行。。
你好,我还没有试,现在没有数据,你能解释一下时间加减的意思吗?
得到当前的日期,返回2004-12-01ADDDATE(DATE_FORMAT(NOW(), '%Y-%c-%d'), INTERVAL 12 DAY_HOUR)
得到当天12点的时间,返回2004-12-01 12:00:00ADDDATE(DATE_FORMAT(NOW(), '%Y-%c-%d'), INTERVAL 36 DAY_HOUR)
得到第二天12点的时间,返回2004-12-02 12:00:00
如,2004-12-02 09:12:10减12小时后为2004-12-01 21:12:10,得到日期为2004-12-01,再得到以这个日期为基础的时间范围。2004-12-01 12:00:00 到 2004-12-02 12:00:00