新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你的数据库字段为datetime 就用 小于 就行了
成都创新互联主要从事网站制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务鄂托克,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
不必关系格式的问题 mysql会帮你处理的
小于今天的 你可以用
DATE_FORMAT(CURDATE(), 'MM-dd-yyyy')
MYSQL有日期函数now(),这个值返回的不是时间戳,而是类似2010-10-1 12:12:12类似的,
PHP有日期函数date(),date("Y-m-d",time())返回当前的时间,如果单纯用time(),则返回的是当前时间,比方说17等数字
MYSQL日期比较
TO_DAYS(NOW()) - TO_DAYS(date_col) = 30;
我们的date_col必须是日期时间格式,而不能是时间戳,
mysql SELECT
FROM_UNIXTIME(875996580);
- '1997-10-04 22:23:00'
day(FROM_UNIXTIME(1277709862))这个返回的是某个时间戳到现在经过的天数
获取
日:day(FROM_UNIXTIME(add_time))
获取 月:month(FROM_UNIXTIME(add_time))
获取
年:year(FROM_UNIXTIME(add_time))
sql文里面获得时间戳后格式化为日,月,年:day(now()),month(now()),year(now())
其中add_time是字段名,存放格式为linux时间戳.
mysql set @a = unix_timestamp();
Query OK, 0 rows affected (0.00 sec)
mysql select @a;
+------------+
| @a |
+------------+
| 1154942084 |
+------------+
1 row in set (0.00 sec)
mysql select
from_unixtime(@a);
+---------------------+
| from_unixtime(@a) |
+---------------------+
| 2006-08-07 17:14:44 |
+---------------------+
1 row in set (0.00 sec)
可以将字符串转换为日期类型(TO_DATE方法)进行比较。
sql:
SELECT
TO_DATE('2006-05-01
19:25:34',
'YYYY-MM-DD
HH24:MI:SS')-TO_DATE('20015-05-01
19:25:34',
'YYYY-MM-DD
HH24:MI:SS')
FROM
DUAL;
备注:时间做差的话,越是靠近当前时间的日期越大,所以大于0就是前面的时间大,否则就是后面的时间大。