mysql 时间戳 今天 昨天 7天 30天 及未来时间

来源:互联网 发布:管家婆软件怎么用 编辑:程序博客网 时间:2024/05/29 21:30

//////////////MYSQL部分-------------------------------------------------------------------------------------------

 

时间戳转成日期格式 from_unixtime(时间字段名);

今天

select * from 表名 where to_days(时间字段名) = to_days(now());

昨天

SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1 

7天

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)

近30天

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

本月

SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

上一月

SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

 

 

 实际应用

where to_days(from_unixtime(字段))=to_days(now())   今天

where to_days(now()) - to_days(from_unixtime(字段))=1  昨天

where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(from_unixtime(字段))  最近7天

where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(from_unixtime(字段)) 最近30天

 //////////继续更新 未来时间


SELECT * 
FROM `islet_labappointment` 
WHERE DATE( FROM_UNIXTIME( `字段名称` ) ) > DATE_SUB( CURDATE( ) , INTERVAL 30 
DAY ) 
LIMIT 0 , 30

未来30天的记录

0 0