总结下 MYSQL 时间转换用得到的函数
STR_TO_DATE(str,format) 时间格式的字符串(str)按照所提供的显示格式(format)-->DATETIME类型
DATE_FORMAT(date,format) 数据库的日期转换为对应的字符串格式
举个例子:
SELECT STR_TO_DATE(now(), "%Y-%m-%d");
SELECT DATE_FORMAT(now(),"%Y-%m-%d");
准确计算当前日期 和数据库对应日期大小 我 取到了天 用 DATEDIFF ,比较时间值 。当然你也可以转成时间戳来比
SELECT
DATEDIFF( DATE_FORMAT( start_time, '%Y-%m-%d'),DATE_FORMAT( NOW( ), '%Y-%m-%d' )) as n
FROM
b_activity_info
n>=0 标识当前时间大于或等于 register_date, n<0 标识当前时间小于 register_date
时间戳比较方法
SELECT
(UNIX_TIMESTAMP(DATE_FORMAT(NOW(),"%Y-%m-%d") )- UNIX_TIMESTAMP(DATE_FORMAT(register_date,"%Y-%m-%d") ))AS n
FROM b_activity_info
筛选日期比较到天
-- 方法一:
SELECT * FROM b_activity_info
WHERE DATEDIFF( DATE_FORMAT( NOW( ), '%Y-%m-%d'),DATE_FORMAT( register_date, '%Y-%m-%d' )) <=0 ;
-- 方法二:
SELECT * FROM b_activity_info WHERE
UNIX_TIMESTAMP(DATE_FORMAT(NOW(),"%Y-%m-%d") )<= UNIX_TIMESTAMP(DATE_FORMAT(register_date,"%Y-%m-%d") )