下面的表格列出了 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();
2.SYSDATE()
SELECT SYSDATE();
3.UNIX_TIMESTAMP()
SELECT UNIX_TIMESTAMP();
SELECT UNIX_TIMESTAMP(‘2013-09-09 12:12:12’);
4.FROM_UNIXTIME()
SELECT FROM_UNIXTIME(137123321);
5.DATE_ADD()
SELECT DATE_ADD(‘2013-09-09 12:12:12’,1);
6.DATE_SUB()
SELECT DATE_SUB(@orderdate,INTERVAL 2 DAY) AS OrderPayDate;
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()
select SEC_TO_TIME(2378); 結果: ‘00:39:38’
11.TIME_TO_SEC()
select TIME_TO_SEC(‘00:39:38’); 結果:2378