PHP以及MYSQL日期比较方法
更新时间:2012年11月29日 20:02:43 作者:
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_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)
您可能感兴趣的文章:
相关文章
php读取mysql乱码,用set names XXX解决的原理分享
解决乱码的方法,我们经常使用“set names utf8”,那么为什么加上这句代码就可以解决了呢?下面跟着我一起来深入set names utf8的内部执行原理2011-12-12


最新评论