下面的表格列出了 MySQL 中最重要的内建日期时间函数:
NOW() 返回当前的日期和时间
SYSDATE() 返回当前的日期和时间
CURDATE() 返回当前的日期
CURTIME() 返回当前的时间
DATE() 提取日期或日期/时间表达式的日期部分
EXTRACT() 返回日期/时间按的单独部分
DATE_ADD() 给日期添加指定的时间间隔
DATE_SUB() 从日期减去指定的时间间隔
DATEDIFF() 返回两个日期之间的天数
DATE_FORMAT() 用不同的格式显示日期/时间
FROM_UNIXTIME() 将整形存储的时间戳数值以"YYYY-MM-DD"格式来显示
UNIX_TIMESTAMP() 返回一个 Unix Timestamp ('1970-01-01 00:00:00' GMT 之后的秒数) 作为无符号整数
SEC_TO_TIME() 将秒值变换成小时、分钟和秒,值以'HH:MM:SS'或HHMMSS格式化
TIME_TO_SEC() 将时间变换转换成秒
1.NOW()
SELECT NOW();/*2013-10-25 15:24:12*/
2.SYSDATE()
SELECT SYSDATE();/*2013-10-25 15:24:12*/
3.UNIX_TIMESTAMP()
SELECT UNIX_TIMESTAMP();/*1382685853*/
SELECT UNIX_TIMESTAMP('2013-09-09 12:12:12'); /*1378699932*/
4.FROM_UNIXTIME()
SELECT FROM_UNIXTIME(137123321); /* 1974-05-07 09:48:41 */
5.DATE_ADD()
SELECT DATE_ADD('2013-09-09 12:12:12',1);/*2013-09-10 12:12:12*/
6.DATE_SUB()
SELECT DATE_SUB(@orderdate,INTERVAL 2 DAY) AS OrderPayDate;/*2013-10-23 12:12:12*/
7.DATEDIFF()
DATEDIFF('2008-12-30','2008-12-29') AS DiffDate
结果:1
SELECT DATEDIFF('2008-12-29','2008-12-30') AS DiffDate
结果:-1
8.DATE_FORMAT()
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
结果类似:
Dec 29 2008 11:45 PM
12-29-2008
9.EXTRACT()
SELECT EXTRACT(YEAR FROM @orderdate) AS OrderYear,
EXTRACT(MONTH FROM @orderdate) AS OrderMonth,
EXTRACT(DAY FROM @orderdate) AS OrderDay;
10.SEC_TO_TIME()
11.TIME_TO_SEC()