mysql 时间比较
1、查询是否过期:
$is_out = M("bonus_type")->where('type_id = '.$id.' AND UNIX_TIMESTAMP(NOW()) > use_end_date')->find(); //如果有数据代表过期了。
2、今日数据:
$where = ' AND FROM_UNIXTIME(conas.ctime, "%Y-%m-%d" ) = CURDATE()';
3、七天内数据:
$where = ' AND DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= FROM_UNIXTIME( conas.ctime, "%Y-%m-%d" )';
转 自网上的写法:
1、今日:
select * from 表名 where to_days(时间字段名) = to_days(now());
2、昨日:
SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1
3、7天:
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)
4、进30天:
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)
5、本月:
SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
6、上一月:
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1
7、是否超过5分钟:
$notGetArr = M("zj_winprize")->where('(UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) - `time` > 300) AND state = 0')->select();
最近30天
//最近30收益
$profit = M('xxx')->where("DATE_SUB(CURDATE(), INTERVAL 30 DAY)<=FROM_UNIXTIME(receiptTime,'%Y-%m-%d') AND expressstatu=4 AND tasterId=".$this->userInfo['id'])->sum('wine_taster_comiss');