日期格式:
例:19951225 , ‘19951225’ , ‘1995-12-25’ , '1995-12-25 00:00:00’
可用函数:
TO_DAYS(date) 函数给出一个日期 date ,返回一个天数(从 0 年开始的天数):
注释:不考虑当历法改变时所遗失的天数。
mysql> SELECT TO_DAYS(‘1995-12-25’); >>> 729017
FROM_DAYS(N) 给出一个天数 N,返回一个 DATE 值:
mysql> SELECT FROM_DAYS(729017); >>> ‘1995-12-25’
DATE_FORMAT(date,format) 函数用于以不同的格式显示日期/时间数据:
mysql> SELECT DATE_FORMAT(19951225,’%Y-%m-%d’); >>> ‘1995-12-25’
DATEDIFF(expr1,expr2) expr1 和 expr2 参数是合法的日期或日期/时间表达式,返回值是相差的天数:
注释:只有值的日期部分参与计算,不能定位到小时、分钟和秒。
mysql> SELECT DATEDIFF(NOW(),‘1995-12-25’); >>> 8516
TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 返回值是相应精确度的数量:
注释:interval 参数可精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),时间远的放前面,时间近的放后面。
mysql> SELECT TIMESTAMPDIFF(HOUR,‘1995-12-25’,NOW()); >>> 204401
日期计算:
1) 计算年差
mysql> SELECT (DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(‘1995-12-25’)),’%Y’) + 0 ); >>> 23
mysql> SELECT (DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(),‘1995-12-25’)),’%Y’) + 0 ); >>> 23
mysql> SELECT TIMESTAMPDIFF(YEAR,‘1995-12-25’,NOW()); >>> 23
2) 计算月差
mysql> SELECT TIMESTAMPDIFF(MONTH,‘1995-12-25’,NOW()); >>> 279
3) 计算日差
mysql> SELECT TO_DAYS(NOW()) - TO_DAYS(‘1995-12-25’); >>> 8516
mysql> SELECT DATEDIFF(NOW(),‘1995-12-25’); >>> 8516
mysql> SELECT TIMESTAMPDIFF(DAY,‘1995-12-25’,NOW()); >>> 8516
4) 计算时差
mysql> SELECT TIMESTAMPDIFF(HOUR,‘1995-12-25 00:00:00’,NOW()); >>> 204401
以上仅供参考