主要命令
[e:loop={‘select * from phome_ecms_news where classid=2 and from_unixtime(newstime)>=date_sub(curdate(),interval 1 month) order by newstime DESC’,2,24,0}]
解释 查询栏目id=2并且时间是当前日期近一个月的信息
以下是基础资料
from_unixtime()是MySQL里的时间函数用于将Unix时间戳(Unix timestamp) → 普通时间
例如:
mysql>SELECT FROM_UNIXTIME( 1249488000, ‘%Y%m%d’ )
->20071120
mysql>SELECT FROM_UNIXTIME( 1249488000, ‘%Y年%m月%d’ )
->2007年11月20
取得当天:
SELECT curdate();
mysql> SELECT curdate();
+————+
| curdate() |
+————+
| 2013-07-29 |
+————+
取得当前日期:
mysql> select now();
+———————+
| now() |
+———————+
| 2013-07-29 22:10:40 |
+———————+
取得前一天:
mysql> select date_sub(curdate(),interval 1 day);
+————————————+
| date_sub(curdate(),interval 1 day) |
+————————————+
| 2013-07-28 |
+————————————+
括号中为当天时间的前一天,如果统计前几天就将括号中的’1’改成相应的天数。如果要算月或年,直接将day改为month或year即可
取得前一天的年份:
mysql> SELECT YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY));
+——————————————+
| YEAR(DATE_SUB(CURDATE(),INTERVAL 1 DAY)) |
+——————————————+
| 2013 |
+——————————————+
date_sub()函数的例子:
今天是2013年5月20日。
date_sub(‘2012-05-25’,interval 1 day) 表示 2012-05-24
date_sub(‘2012-05-25’,interval 0 day) 表示 2012-05-25
date_sub(‘2012-05-25’,interval -1 day) 表示 2012-05-26
date_sub(‘2012-05-31’,interval -1 day) 表示 2012-06-01
date_sub(curdate(),interval 1 day) 表示 2013-05-19
date_sub(curdate(),interval -1 day) 表示 2013-05-21
date_sub(curdate(),interval 1 month) 表示 2013-04-20
date_sub(curdate(),interval -1 month) 表示 2013-06-20
date_sub(curdate(),interval 1 year) 表示 2012-05-20
date_sub(curdate(),interval -1 year) 表示 2014-05-20