DATEDIFF($date1,$date2);//返回两个日期之间的天数。
例子 1
使用如下 SELECT 语句:
SELECT DATEDIFF('2008-12-30','2008-12-29') AS DiffDate
结果:
DiffDate
1
例子 2
使用如下 SELECT 语句:
SELECT DATEDIFF('2008-12-29','2008-12-30') AS DiffDate
结果:
DiffDate
-1
DATE_FORMAT(date,format);//用于以不同的格式显示日期/时间数据。
date 参数是合法的日期。format 规定日期/时间的输出格式。
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
结果类似:
Dec 29 2008 11:45 PM
12-29-2008
29 Dec 08
29 Dec 2008 16:25:46.635
上周一:date('Y-m-d', strtotime('-2 monday', time()));//不管今天几号,-1 monday为上一个有效周一
上周日:date('Y-m-d',strtotime('-1 sunday', time()));//-1 sunday为上一个有效周一
本周一:date('Y-m-d', (time() - ((date('w') == 0 ? 7 : date('w')) - 1) * 24 * 3600)); //w为星期几的数字形式,这里0为周日
本周日:date('Y-m-d', (time() + (7 - (date('w') == 0 ? 7 : date('w'))) * 24 * 3600));//同样使用w,以现在与周日相关天数算
本月第一天:date('Y-m-d', strtotime(date('Y-m', time()) . '-01 00:00:00')); //直接以strtotime生成
本月最后一天:date('Y-m-d', strtotime(date('Y-m', time()) . '-' . date('t', time()) . ' 00:00:00')); //t为当月天数,28至31天
上个月第一天:date('Y-m-01', strtotime('-1 month'));
上个月最后一天:date('Y-m-t', strtotime('-1 month'));