一、取得時間字串

-- 取得今天日期 ex: 2020-08-15
SELECT CURRENT_DATE();

-- 取得現在時間(不含日期)
-- ex: 12:46:52
SELECT CURRENT_TIME();

-- 取得現在時間(含日期)
-- ex:  2020-08-15 12:48:12
SELECT NOW();

二、取得 unix_timestamp

-- 取得現在的 unix timestamp
-- 傳回: 1597501525
SELECT UNIX_TIMESTAMP();

-- 取得特定時間的 unix timestamp
-- 傳回: 1597495692
SELECT UNIX_TIMESTAMP('2020-08-15 12:48:12');

三、時間格式轉換

-- 將 unix timestamp 轉換成一般時間字串
-- 傳回:2020-08-15 12:48:12
SELECT FROM_UNIXTIME(1597495692);

-- 將一般時間字串轉換成 UNIX 時間戳記
-- 傳回: 1597495692
SELECT UNIX_TIMESTAMP('2020-08-15 12:48:12');

-- 改變日期顯示格式
-- 傳回: 2020/08/15 12:48:12
SELECT DATE_FORMAT('2020-08-15 12:48:12','%Y/%m/%d %H:%i:%s');

四、時間計算

1、時間點計算

-- 時間加減,取得特定時間點
-- 年 YEAR, 月 MONTH, 天 DAY, 時 HOUR, 分 MINUTE, 秒 SECOND
-- 傳回:2020-08-16 12:48:12
SELECT DATE_ADD('2020-08-15 12:48:12',INTERVAL +1 DAY);
-- 傳回:2020-05-15 12:48:12
SELECT DATE_ADD('2020-08-15 12:48:12',INTERVAL -3 MONTH);

2、時間間隔計算

-- 取得時間間隔
-- 傳回 20 (表示相差 20 分鐘)
SELECT TIMESTAMPDIFF(MINUTE, '2020-08-15 12:48:12', now());
-- 傳回 7 (表示相差 7 個月)
SELECT TIMESTAMPDIFF(MONTH, '2020-01-15 12:48:12', now());
-- 傳回 -7 (第 3 個參數減去第 2 個參數)
SELECT TIMESTAMPDIFF(MONTH, now(), '2020-01-15 12:48:12');

參考資料

1、http://tw.gitbook.net/mysql/mysql_date_time_functions.html
2、https://www.w3resource.com/mysql/date-and-time-functions/date-and-time-functions.php

Last modified: 2020-08-15

Author

Comments

Write a Reply or Comment

Your email address will not be published.