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);
调试欢乐多
当天日期的定义为:每天的中午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